accept method
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;
}