nim-libp2p-experimental/libp2p/stream
Jacek Sieka 17e00e642a
limit write queue length (#376)
To break a potential read/write deadlock, gossipsub uses an unbounded
queue for writes - when peers are too slow to process this queue, it may
end up growing without bounds causing high memory usage.

Here, we introduce a maximum write queue length after which the peer is
disconnected - the queue is generous enough that any "normal" usage
should be fine - writes that are `await`:ed are not affected, only
writes that are launched in an `asyncSpawn` task or similar.

* avoid unnecessary copy of message when there are no send observers
* release message memory earlier in gossipsub
* simplify pubsubpeer logging
2020-09-24 18:43:20 +02:00
..
bufferstream.nim limit write queue length (#376) 2020-09-24 18:43:20 +02:00
chronosstream.nim small fixes (#374) 2020-09-24 07:30:19 +02:00
connection.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
lpstream.nim small fixes (#374) 2020-09-24 07:30:19 +02:00
streamseq.nim logging fixes and small cleanups (#361) 2020-09-09 19:12:08 +02:00