nim-libp2p/libp2p
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
..
crypto Refactor minasn1 and fix security issues. (#323) 2020-08-11 16:58:51 -06:00
daemon Gossip one one (#240) 2020-09-21 11:16:29 +02:00
muxers channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
protobuf Add `libp2p_dump` and `libp2p_dump_dir` compiler time options. (#359) 2020-09-15 11:16:43 +02:00
protocols Gossip one one (#240) 2020-09-21 11:16:29 +02:00
stream channel close race and deadlock fixes (#368) 2020-09-21 19:48:19 +02:00
transports Remove asyncCheck from codebase. (#345) 2020-09-04 18:30:45 +02:00
cid.nim Less exceptions more results (#188) 2020-05-31 16:22:49 +02:00
connmanager.nim add peer lifecycle events (#357) 2020-09-15 14:19:22 -06:00
debugutils.nim Add `libp2p_dump` and `libp2p_dump_dir` compiler time options. (#359) 2020-09-15 11:16:43 +02:00
errors.nim warn -> debug log levels in errors.nim 2020-08-20 16:53:28 +09:00
multiaddress.nim Gossip one one (#240) 2020-09-21 11:16:29 +02:00
multibase.nim add side effect annotations (#197) 2020-06-01 09:25:16 +02:00
multicodec.nim Crypto utilities resultification (#150) 2020-05-18 07:25:55 +02:00
multihash.nim add side effect annotations (#197) 2020-06-01 09:25:16 +02:00
multistream.nim Gossip one one (#240) 2020-09-21 11:16:29 +02:00
peerid.nim simplify and unify logging (#353) 2020-09-06 10:31:47 +02:00
peerinfo.nim simplify and unify logging (#353) 2020-09-06 10:31:47 +02:00
standard_setup.nim mplex fixes (#362) 2020-09-14 10:19:54 +02:00
switch.nim Gossip one one (#240) 2020-09-21 11:16:29 +02:00
transcoder.nim add side effect annotations (#197) 2020-06-01 09:25:16 +02:00
utility.nim Less verbose traces (#112) 2020-03-23 15:03:36 +09:00
varint.nim Less exceptions more results (#188) 2020-05-31 16:22:49 +02:00
vbuffer.nim Less exceptions more results (#188) 2020-05-31 16:22:49 +02:00
wire.nim Less exceptions more results (#188) 2020-05-31 16:22:49 +02:00