|
@@ -190,7 +190,6 @@ class Peer:
|
|
|
self.receive_lock = asyncio.Lock()
|
|
|
self.ticks = 0
|
|
|
self.last_message_in_ts = -1
|
|
|
- self.last_message_out_ts = -1
|
|
|
|
|
|
async def write(peer, data):
|
|
|
peer.writer.write(data)
|
|
@@ -206,11 +205,7 @@ async def read(peer, size):
|
|
|
|
|
|
async def cooldown(peer, out=True):
|
|
|
if out:
|
|
|
- diff = time.time() - peer.last_message_out_ts
|
|
|
- if diff < RATELIMIT:
|
|
|
- await asyncio.sleep(min(RATELIMIT - diff + 0.1, RATELIMIT + 0.01))
|
|
|
-
|
|
|
- peer.last_message_out_ts = time.time()
|
|
|
+ await asyncio.sleep(RATELIMIT)
|
|
|
else:
|
|
|
if time.time() - peer.last_message_in_ts < RATELIMIT:
|
|
|
raise Error(f'rate limit (={RATELIMIT}s.) exceeded for incoming messages')
|