nim-libp2p/libp2p/muxers/mplex
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
..
coder.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
lpchannel.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
mplex.nim channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00