connectd: implement "transient" connections.

Currently, anything which doesn't have a live channel is considered transient.
We free this first under stress, and also if they're still connecting.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2024-05-14 14:01:44 +09:30
parent 9aed594177
commit 8268df9a4b
4 changed files with 99 additions and 29 deletions

View File

@@ -55,6 +55,7 @@ msgdata,connectd_connect_to_peer,len,u32,
msgdata,connectd_connect_to_peer,addrs,wireaddr,len
msgdata,connectd_connect_to_peer,addrhint,?wireaddr_internal,
msgdata,connectd_connect_to_peer,dns_fallback,bool,
msgdata,connectd_connect_to_peer,transient,bool,
# Connectd->master: connect failed.
msgtype,connectd_connect_failed,2020
1 #include <bitcoin/block.h>
55 msgdata,connectd_connect_failed,failcode,enum jsonrpc_errcode, msgdata,connectd_connect_failed,id,node_id,
56 msgdata,connectd_connect_failed,failreason,wirestring, msgdata,connectd_connect_failed,failcode,enum jsonrpc_errcode,
57 msgdata,connectd_connect_failed,addrhint,?wireaddr_internal, msgdata,connectd_connect_failed,failreason,wirestring,
58 msgdata,connectd_connect_failed,addrhint,?wireaddr_internal,
59 # Connectd -> master: we got a peer.
60 msgtype,connectd_peer_connected,2002
61 msgdata,connectd_peer_connected,id,node_id,