accept method

bool accept(
  1. PeerId peerId
)

Accept a new request

Implementation

bool accept(PeerId peerId) {
  if (_closed) {
    return false;
  }

  final currentTime = now();
  _cleanup(currentTime);

  if (_ongoingReqs.contains(peerId)) {
    return false;
  }

  if (_reqs.length >= rpm || (_peerReqs[peerId]?.length ?? 0) >= perPeerRPM) {
    return false;
  }

  _ongoingReqs.add(peerId);
  _reqs.add(_Entry(peerId, currentTime));

  if (!_peerReqs.containsKey(peerId)) {
    _peerReqs[peerId] = [];
  }
  _peerReqs[peerId]!.add(currentTime);

  return true;
}