mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
connectd: fix confusing names.
The message from lightningd simply acknowleges that we are allowed to discard the peer (because no subdaemons are talking to it anymore). This difference becomes more stark once connectd holds on to idle peers. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -311,7 +311,7 @@ static struct peer *new_peer(struct daemon *daemon,
|
|||||||
peer->peer_in = NULL;
|
peer->peer_in = NULL;
|
||||||
peer->sent_to_peer = NULL;
|
peer->sent_to_peer = NULL;
|
||||||
peer->urgent = false;
|
peer->urgent = false;
|
||||||
peer->told_to_close = false;
|
peer->ready_to_die = false;
|
||||||
peer->peer_outq = msg_queue_new(peer, false);
|
peer->peer_outq = msg_queue_new(peer, false);
|
||||||
|
|
||||||
#if DEVELOPER
|
#if DEVELOPER
|
||||||
@@ -1793,7 +1793,7 @@ static void try_connect_peer(struct daemon *daemon,
|
|||||||
/* If it's exiting now, we've raced: reconnect after */
|
/* If it's exiting now, we've raced: reconnect after */
|
||||||
if (tal_count(existing->subds) != 0
|
if (tal_count(existing->subds) != 0
|
||||||
&& existing->to_peer
|
&& existing->to_peer
|
||||||
&& !existing->told_to_close)
|
&& !existing->ready_to_die)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1893,7 +1893,7 @@ void peer_conn_closed(struct peer *peer)
|
|||||||
/* These should be closed already! */
|
/* These should be closed already! */
|
||||||
assert(!peer->subds);
|
assert(!peer->subds);
|
||||||
assert(!peer->to_peer);
|
assert(!peer->to_peer);
|
||||||
assert(peer->told_to_close);
|
assert(peer->ready_to_die);
|
||||||
|
|
||||||
/* Tell gossipd to stop asking this peer gossip queries */
|
/* Tell gossipd to stop asking this peer gossip queries */
|
||||||
daemon_conn_send(peer->daemon->gossipd,
|
daemon_conn_send(peer->daemon->gossipd,
|
||||||
@@ -1930,13 +1930,13 @@ static void cleanup_dead_peer(struct daemon *daemon, const struct node_id *id)
|
|||||||
close_peer_conn(peer);
|
close_peer_conn(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* lightningd tells us a peer has disconnected. */
|
/* lightningd tells us a peer should be disconnected. */
|
||||||
static void peer_disconnected(struct daemon *daemon, const u8 *msg)
|
static void peer_discard(struct daemon *daemon, const u8 *msg)
|
||||||
{
|
{
|
||||||
struct node_id id;
|
struct node_id id;
|
||||||
|
|
||||||
if (!fromwire_connectd_peer_disconnected(msg, &id))
|
if (!fromwire_connectd_discard_peer(msg, &id))
|
||||||
master_badmsg(WIRE_CONNECTD_PEER_DISCONNECTED, msg);
|
master_badmsg(WIRE_CONNECTD_DISCARD_PEER, msg);
|
||||||
|
|
||||||
cleanup_dead_peer(daemon, &id);
|
cleanup_dead_peer(daemon, &id);
|
||||||
}
|
}
|
||||||
@@ -2001,8 +2001,8 @@ static struct io_plan *recv_req(struct io_conn *conn,
|
|||||||
connect_to_peer(daemon, msg);
|
connect_to_peer(daemon, msg);
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
case WIRE_CONNECTD_PEER_DISCONNECTED:
|
case WIRE_CONNECTD_DISCARD_PEER:
|
||||||
peer_disconnected(daemon, msg);
|
peer_discard(daemon, msg);
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
case WIRE_CONNECTD_PEER_FINAL_MSG:
|
case WIRE_CONNECTD_PEER_FINAL_MSG:
|
||||||
|
|||||||
@@ -59,8 +59,9 @@ struct peer {
|
|||||||
/* Final message to send to peer (and hangup) */
|
/* Final message to send to peer (and hangup) */
|
||||||
u8 *final_msg;
|
u8 *final_msg;
|
||||||
|
|
||||||
/* Set when we want to close. */
|
/* Set once lightningd says it's OK to close (subd tells it
|
||||||
bool told_to_close;
|
* it's done). */
|
||||||
|
bool ready_to_die;
|
||||||
|
|
||||||
/* When socket has Nagle overridden */
|
/* When socket has Nagle overridden */
|
||||||
bool urgent;
|
bool urgent;
|
||||||
|
|||||||
@@ -71,9 +71,9 @@ msgdata,connectd_peer_connected,incoming,bool,
|
|||||||
msgdata,connectd_peer_connected,flen,u16,
|
msgdata,connectd_peer_connected,flen,u16,
|
||||||
msgdata,connectd_peer_connected,features,u8,flen
|
msgdata,connectd_peer_connected,features,u8,flen
|
||||||
|
|
||||||
# master -> connectd: peer has disconnected.
|
# master -> connectd: peer no longer wanted, you can disconnect.
|
||||||
msgtype,connectd_peer_disconnected,2015
|
msgtype,connectd_discard_peer,2015
|
||||||
msgdata,connectd_peer_disconnected,id,node_id,
|
msgdata,connectd_discard_peer,id,node_id,
|
||||||
|
|
||||||
# master -> connectd: give message to peer and disconnect.
|
# master -> connectd: give message to peer and disconnect.
|
||||||
msgtype,connectd_peer_final_msg,2003
|
msgtype,connectd_peer_final_msg,2003
|
||||||
|
|||||||
|
@@ -715,7 +715,7 @@ static struct io_plan *read_body_from_peer_done(struct io_conn *peer_conn,
|
|||||||
return read_hdr_from_peer(peer_conn, peer);
|
return read_hdr_from_peer(peer_conn, peer);
|
||||||
|
|
||||||
/* Don't process packets while we're closing */
|
/* Don't process packets while we're closing */
|
||||||
if (peer->told_to_close)
|
if (peer->ready_to_die)
|
||||||
return read_hdr_from_peer(peer_conn, peer);
|
return read_hdr_from_peer(peer_conn, peer);
|
||||||
|
|
||||||
/* If we swallow this, just try again. */
|
/* If we swallow this, just try again. */
|
||||||
@@ -825,14 +825,14 @@ static void destroy_subd(struct subd *subd)
|
|||||||
io_wake(&peer->peer_in);
|
io_wake(&peer->peer_in);
|
||||||
|
|
||||||
/* If no peer, finally time to close */
|
/* If no peer, finally time to close */
|
||||||
if (!peer->to_peer && peer->told_to_close)
|
if (!peer->to_peer && peer->ready_to_die)
|
||||||
peer_conn_closed(peer);
|
peer_conn_closed(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void close_peer_conn(struct peer *peer)
|
void close_peer_conn(struct peer *peer)
|
||||||
{
|
{
|
||||||
/* Make write_to_peer do flush after writing */
|
/* Make write_to_peer do flush after writing */
|
||||||
peer->told_to_close = true;
|
peer->ready_to_die = true;
|
||||||
|
|
||||||
/* Already dead? */
|
/* Already dead? */
|
||||||
if (!peer->subds && !peer->to_peer) {
|
if (!peer->subds && !peer->to_peer) {
|
||||||
@@ -883,7 +883,7 @@ static void destroy_peer_conn(struct io_conn *peer_conn, struct peer *peer)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (peer->told_to_close)
|
if (peer->ready_to_die)
|
||||||
peer_conn_closed(peer);
|
peer_conn_closed(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -905,7 +905,7 @@ struct io_plan *multiplex_peer_setup(struct io_conn *peer_conn,
|
|||||||
|
|
||||||
void multiplex_final_msg(struct peer *peer, const u8 *final_msg TAKES)
|
void multiplex_final_msg(struct peer *peer, const u8 *final_msg TAKES)
|
||||||
{
|
{
|
||||||
peer->told_to_close = true;
|
peer->ready_to_die = true;
|
||||||
peer->final_msg = tal_dup_talarr(peer, u8, final_msg);
|
peer->final_msg = tal_dup_talarr(peer, u8, final_msg);
|
||||||
if (!peer->subds)
|
if (!peer->subds)
|
||||||
io_wake(peer->peer_outq);
|
io_wake(peer->peer_outq);
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ void channel_set_owner(struct channel *channel, struct subd *owner)
|
|||||||
channel->peer->connected = false;
|
channel->peer->connected = false;
|
||||||
if (channel->peer->ld->connectd) {
|
if (channel->peer->ld->connectd) {
|
||||||
u8 *msg;
|
u8 *msg;
|
||||||
msg = towire_connectd_peer_disconnected(
|
msg = towire_connectd_discard_peer(
|
||||||
NULL,
|
NULL,
|
||||||
&channel->peer->id);
|
&channel->peer->id);
|
||||||
subd_send_msg(channel->peer->ld->connectd,
|
subd_send_msg(channel->peer->ld->connectd,
|
||||||
|
|||||||
@@ -413,7 +413,7 @@ static unsigned connectd_msg(struct subd *connectd, const u8 *msg, const int *fd
|
|||||||
case WIRE_CONNECTD_INIT:
|
case WIRE_CONNECTD_INIT:
|
||||||
case WIRE_CONNECTD_ACTIVATE:
|
case WIRE_CONNECTD_ACTIVATE:
|
||||||
case WIRE_CONNECTD_CONNECT_TO_PEER:
|
case WIRE_CONNECTD_CONNECT_TO_PEER:
|
||||||
case WIRE_CONNECTD_PEER_DISCONNECTED:
|
case WIRE_CONNECTD_DISCARD_PEER:
|
||||||
case WIRE_CONNECTD_DEV_MEMLEAK:
|
case WIRE_CONNECTD_DEV_MEMLEAK:
|
||||||
case WIRE_CONNECTD_PEER_FINAL_MSG:
|
case WIRE_CONNECTD_PEER_FINAL_MSG:
|
||||||
case WIRE_CONNECTD_PING:
|
case WIRE_CONNECTD_PING:
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ void uncommitted_channel_disconnect(struct uncommitted_channel *uc,
|
|||||||
enum log_level level,
|
enum log_level level,
|
||||||
const char *desc)
|
const char *desc)
|
||||||
{
|
{
|
||||||
u8 *msg = towire_connectd_peer_disconnected(tmpctx, &uc->peer->id);
|
u8 *msg = towire_connectd_discard_peer(tmpctx, &uc->peer->id);
|
||||||
log_(uc->log, level, NULL, false, "%s", desc);
|
log_(uc->log, level, NULL, false, "%s", desc);
|
||||||
/* NULL when we're shutting down */
|
/* NULL when we're shutting down */
|
||||||
if (uc->peer->ld->connectd)
|
if (uc->peer->ld->connectd)
|
||||||
|
|||||||
@@ -720,9 +720,9 @@ u8 *towire_channeld_offer_htlc(const tal_t *ctx UNNEEDED, struct amount_msat amo
|
|||||||
/* Generated stub for towire_channeld_sending_commitsig_reply */
|
/* Generated stub for towire_channeld_sending_commitsig_reply */
|
||||||
u8 *towire_channeld_sending_commitsig_reply(const tal_t *ctx UNNEEDED)
|
u8 *towire_channeld_sending_commitsig_reply(const tal_t *ctx UNNEEDED)
|
||||||
{ fprintf(stderr, "towire_channeld_sending_commitsig_reply called!\n"); abort(); }
|
{ fprintf(stderr, "towire_channeld_sending_commitsig_reply called!\n"); abort(); }
|
||||||
/* Generated stub for towire_connectd_peer_disconnected */
|
/* Generated stub for towire_connectd_discard_peer */
|
||||||
u8 *towire_connectd_peer_disconnected(const tal_t *ctx UNNEEDED, const struct node_id *id UNNEEDED)
|
u8 *towire_connectd_discard_peer(const tal_t *ctx UNNEEDED, const struct node_id *id UNNEEDED)
|
||||||
{ fprintf(stderr, "towire_connectd_peer_disconnected called!\n"); abort(); }
|
{ fprintf(stderr, "towire_connectd_discard_peer called!\n"); abort(); }
|
||||||
/* Generated stub for towire_connectd_peer_final_msg */
|
/* Generated stub for towire_connectd_peer_final_msg */
|
||||||
u8 *towire_connectd_peer_final_msg(const tal_t *ctx UNNEEDED, const struct node_id *id UNNEEDED, const u8 *msg UNNEEDED)
|
u8 *towire_connectd_peer_final_msg(const tal_t *ctx UNNEEDED, const struct node_id *id UNNEEDED, const u8 *msg UNNEEDED)
|
||||||
{ fprintf(stderr, "towire_connectd_peer_final_msg called!\n"); abort(); }
|
{ fprintf(stderr, "towire_connectd_peer_final_msg called!\n"); abort(); }
|
||||||
|
|||||||
Reference in New Issue
Block a user