nim-libp2p/libp2p/stream
Jacek Sieka 49a12e619d
channel close race and deadlock fixes (#368)
* channel close race and deadlock fixes

* remove send lock, write chunks in one go
* push some of half-closed implementation to BufferStream
* fix some hangs where LPChannel readers and writers would not always
wake up
* simplify lazy channels
* fix close happening more than once in some orderings
* reenable connection tracking tests
* close channels first on mplex close such that consumers can read bytes

A notable difference is that BufferedStream is no longer considered EOF
until someone has actually read the EOF marker.

* docs, simplification
2020-09-21 19:48:19 +02:00
..
bufferstream.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
chronosstream.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
connection.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
lpstream.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
streamseq.nim logging fixes and small cleanups (#361) 2020-09-09 19:12:08 +02:00