core-lightning/connectd
Rusty Russell 719d1384d1 connectd: give connections a chance to drain when lightningd says to disconnect, or peer disconnects.
We want to avoid lost messages in the common cases.

This generalizes our drain code, by giving the subds each 5 seconds to
close themselves, but continue to allow them to send us traffic (if
peer is still connected) and continue to send them traffic.

We continue to send traffic *out* to the peer (if it's still
connected), until all subds are gone.  We still have a 5 second timer
to close the connection to peer.

On reconnects, we don't do this "drain period" on reconnects: we kill
immediately.

We fix up one test which was looking for the "disconnect" message
explicitly.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-07-18 20:50:04 -05:00
..
test update-mocks: handle missing deprecated_apis. 2022-07-09 09:59:52 +09:30
connectd_gossipd_wire.csv gossipd: don't hand out fds. 2022-02-08 11:15:52 +10:30
connectd_wire.csv connectd: add counters to each peer connection. 2022-07-18 20:50:04 -05:00
connectd.c connectd: give connections a chance to drain when lightningd says to disconnect, or peer disconnects. 2022-07-18 20:50:04 -05:00
connectd.h connectd: add counters to each peer connection. 2022-07-18 20:50:04 -05:00
gossip_rcvd_filter.c connectd: shrink max filter size. 2022-06-17 14:14:02 +09:30
gossip_rcvd_filter.h channeld: take over gossip_rcvd_filter.c and is_msg_gossip_broadcast. 2022-06-17 14:14:02 +09:30
handshake.c connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
handshake.h connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
Makefile channeld: take over gossip_rcvd_filter.c and is_msg_gossip_broadcast. 2022-06-17 14:14:02 +09:30
multiplex.c connectd: give connections a chance to drain when lightningd says to disconnect, or peer disconnects. 2022-07-18 20:50:04 -05:00
multiplex.h connectd: give connections a chance to drain when lightningd says to disconnect, or peer disconnects. 2022-07-18 20:50:04 -05:00
netaddress.c bolt7: allow announcement of ADDR_TYPE_DNS 2021-11-30 09:38:17 +10:30
netaddress.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
onion_message.c connectd: restore obs2 onion support. 2022-03-29 10:55:12 +10:30
onion_message.h connectd: restore obs2 onion support. 2022-03-29 10:55:12 +10:30
peer_exchange_initmsg.c connectd: remove reconnection logic. 2022-07-18 20:50:04 -05:00
peer_exchange_initmsg.h connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
sha1.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
sha1.h lightning_websocketd: simple proxy for websockets. 2021-10-22 11:56:30 +02:00
tor_autoservice.c connectd: remove enable-autotor-v2-mode option 2022-05-18 10:15:36 +09:30
tor_autoservice.h connectd: remove enable-autotor-v2-mode option 2022-05-18 10:15:36 +09:30
tor.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
tor.h connectd: rename 'struct reaching' to 'struct connecting'. 2018-09-28 04:14:28 +00:00
websocketd.c websocketd: fix random failures by blocking stdin reads 2022-03-14 12:26:46 -05:00