rgb-cln/lightningd
Rusty Russell eff53495db lightningd: make "is peer connected" a tristate.
First, connectd tells us the peer has connected, and we call the connected hook,
and if it says it's fine, we are actually connected and we fire off notifications.

Of course, we could be disconnected while in the connected hook, and that would
mean we tell people about a connection which is no longer current.

Make this clear with a tristate: if we're not marked disconnected by
the time the hooks finish, we're good.  It also gives us a cleaner
"connect" command return when we connected but disconnected before
processing.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-07-18 20:50:04 -05:00
..
test lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
Makefile lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
bitcoind.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
bitcoind.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
chaintopology.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
chaintopology.h lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
channel.c lightningd: remove 'connected' flag from channel structure. 2022-07-18 20:50:04 -05:00
channel.h lightningd: remove 'connected' flag from channel structure. 2022-07-18 20:50:04 -05:00
channel_control.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
channel_control.h lightningd: handle reestablish directly from connectd. 2022-03-23 13:20:12 +10:30
channel_state.h channel-state: add two new states, for dualopend 2021-01-10 13:44:04 +01:00
closing_control.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
closing_control.h patch lightningd-peer-fds.patch 2022-01-20 15:24:06 +10:30
coin_mvts.c balance_snapshot: don't count unconfirmed utxos 2022-03-05 15:12:12 +10:30
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
connect_control.c lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
connect_control.h lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
datastore.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
dual_open_control.c lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
dual_open_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
feerate.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
feerate.h lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
gossip_control.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
gossip_control.h connectd: remove second gossip fd. 2022-02-08 11:15:52 +10:30
hsm_control.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
hsm_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_end.c lightningd: fix overzealous check in htlc_out_check: 2022-04-20 16:30:05 +09:30
htlc_end.h coin_mvt: record fees for an outbound htlc 2021-12-28 04:42:42 +10:30
htlc_set.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_set.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
invoice.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
io_loop_with_timers.c database: pull out database code into a new module 2022-03-05 15:03:34 +10:30
io_loop_with_timers.h lightningd/io_loop_with_timers.c: Move mainloop to its own source file, have chaintopology use it. 2019-05-31 17:57:10 +02:00
jsonrpc.c common/json_stream: make json_add_jsonstr take a length. 2022-07-17 08:51:02 +09:30
jsonrpc.h common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
lightningd.c lightningd: re-transmit all closing transactions on startup. 2022-07-14 12:40:57 -05:00
lightningd.h lightningd: multiple log-file options allow more than one log output. 2022-06-27 17:21:35 +09:30
log.c common/json_stream.c: provide explicit json_add_primitive_fmt and json_add_str_fmt routines. 2022-07-15 12:24:00 -05:00
log.h options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
log_status.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log_status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
memdump.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c common/json_stream.c: provide explicit json_add_primitive_fmt and json_add_str_fmt routines. 2022-07-15 12:24:00 -05:00
notification.h lightningd: add "style" to listforwards. 2022-03-31 19:38:05 +10:30
offer.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
onchain_control.c lightningd: Add RPC for populating DB with stub channels and set an error on reconnecting 2022-07-14 12:24:48 -05:00
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c lightningd: set cid correctly in peer->uncommitted_channel. 2022-07-18 20:50:04 -05:00
opening_common.h lightningd: set cid correctly in peer->uncommitted_channel. 2022-07-18 20:50:04 -05:00
opening_control.c lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
opening_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
options.c options: set DNS port to network default if not specified 2022-07-17 23:26:07 +02:00
options.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
pay.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
pay.h lightningd: use our cached channel_update for errors instead of asking gossipd. 2022-02-08 11:15:52 +10:30
peer_control.c lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
peer_control.h lightningd: make "is peer connected" a tristate. 2022-07-18 20:50:04 -05:00
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_htlcs.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
peer_htlcs.h lightningd: extra sanity checks and rescue attempts for missing HTLCs. 2022-03-31 13:40:27 +10:30
ping.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin.h lightningd: cleanup obsolete plugins->shutdown flag 2021-12-14 09:33:10 +10:30
plugin_control.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_control.h plugins: add `command` field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin_hook.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
routehint.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
signmessage.c lightningd/json.h: remove. 2022-07-15 12:24:00 -05:00
subd.c options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
subd.h subd: make channel/peer own the subd. 2022-03-30 06:27:52 +10:30
watch.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
watch.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00