mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-01 17:47:30 +01:00
lightningd: have optional node_id associated with subdaemons.
We'll use this for logging it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
b0a72a67e8
commit
4fa7b30836
6 changed files with 21 additions and 9 deletions
|
@ -353,6 +353,7 @@ void peer_start_channeld(struct channel *channel,
|
|||
channel_set_owner(channel,
|
||||
new_channel_subd(ld,
|
||||
"lightning_channeld", channel,
|
||||
&channel->peer->id,
|
||||
channel->log, true,
|
||||
channel_wire_type_name,
|
||||
channel_msg,
|
||||
|
|
|
@ -195,7 +195,8 @@ void peer_start_closingd(struct channel *channel,
|
|||
channel_set_owner(channel,
|
||||
new_channel_subd(ld,
|
||||
"lightning_closingd",
|
||||
channel, channel->log, true,
|
||||
channel, &channel->peer->id,
|
||||
channel->log, true,
|
||||
closing_wire_type_name, closing_msg,
|
||||
channel_errmsg,
|
||||
channel_set_billboard,
|
||||
|
|
|
@ -471,7 +471,7 @@ enum watch_result onchaind_funding_spent(struct channel *channel,
|
|||
|
||||
channel_set_owner(channel, new_channel_subd(ld,
|
||||
"lightning_onchaind",
|
||||
channel,
|
||||
channel, &channel->peer->id,
|
||||
channel->log, false,
|
||||
onchain_wire_type_name,
|
||||
onchain_msg,
|
||||
|
|
|
@ -923,7 +923,7 @@ void peer_start_openingd(struct peer *peer,
|
|||
|
||||
uc->openingd = new_channel_subd(peer->ld,
|
||||
"lightning_openingd",
|
||||
uc, uc->log,
|
||||
uc, &peer->id, uc->log,
|
||||
true, opening_wire_type_name,
|
||||
openingd_msg,
|
||||
opening_channel_errmsg,
|
||||
|
|
|
@ -601,6 +601,7 @@ static struct io_plan *msg_setup(struct io_conn *conn, struct subd *sd)
|
|||
static struct subd *new_subd(struct lightningd *ld,
|
||||
const char *name,
|
||||
void *channel,
|
||||
const struct node_id *node_id,
|
||||
struct log *base_log,
|
||||
bool talks_to_peer,
|
||||
const char *(*msgname)(int msgtype),
|
||||
|
@ -658,6 +659,10 @@ static struct subd *new_subd(struct lightningd *ld,
|
|||
tal_add_destructor(sd, destroy_subd);
|
||||
list_head_init(&sd->reqs);
|
||||
sd->channel = channel;
|
||||
if (node_id)
|
||||
sd->node_id = tal_dup(sd, struct node_id, node_id);
|
||||
else
|
||||
sd->node_id = NULL;
|
||||
|
||||
/* conn actually owns daemon: we die when it does. */
|
||||
sd->conn = io_new_conn(ld, msg_fd, msg_setup, sd);
|
||||
|
@ -682,7 +687,7 @@ struct subd *new_global_subd(struct lightningd *ld,
|
|||
struct subd *sd;
|
||||
|
||||
va_start(ap, msgcb);
|
||||
sd = new_subd(ld, name, NULL, NULL, false, msgname, msgcb, NULL, NULL, &ap);
|
||||
sd = new_subd(ld, name, NULL, NULL, NULL, false, msgname, msgcb, NULL, NULL, &ap);
|
||||
va_end(ap);
|
||||
|
||||
sd->must_not_exit = true;
|
||||
|
@ -692,6 +697,7 @@ struct subd *new_global_subd(struct lightningd *ld,
|
|||
struct subd *new_channel_subd_(struct lightningd *ld,
|
||||
const char *name,
|
||||
void *channel,
|
||||
const struct node_id *node_id,
|
||||
struct log *base_log,
|
||||
bool talks_to_peer,
|
||||
const char *(*msgname)(int msgtype),
|
||||
|
@ -711,8 +717,8 @@ struct subd *new_channel_subd_(struct lightningd *ld,
|
|||
struct subd *sd;
|
||||
|
||||
va_start(ap, billboardcb);
|
||||
sd = new_subd(ld, name, channel, base_log, talks_to_peer, msgname,
|
||||
msgcb, errcb, billboardcb, &ap);
|
||||
sd = new_subd(ld, name, channel, node_id, base_log, talks_to_peer,
|
||||
msgname, msgcb, errcb, billboardcb, &ap);
|
||||
va_end(ap);
|
||||
return sd;
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ struct subd {
|
|||
|
||||
/* For logging */
|
||||
struct log *log;
|
||||
const struct node_id *node_id;
|
||||
|
||||
/* Callback when non-reply message comes in (inside db transaction) */
|
||||
unsigned (*msgcb)(struct subd *, const u8 *, const int *);
|
||||
|
@ -97,6 +98,7 @@ struct subd *new_global_subd(struct lightningd *ld,
|
|||
* @ld: global state
|
||||
* @name: basename of daemon
|
||||
* @channel: channel to associate.
|
||||
* @node_id: node_id of peer, for logging.
|
||||
* @base_log: log to use (actually makes a copy so it has name in prefix)
|
||||
* @msgname: function to get name from messages
|
||||
* @msgcb: function to call (inside db transaction) when non-fatal message received (or NULL)
|
||||
|
@ -112,6 +114,7 @@ struct subd *new_global_subd(struct lightningd *ld,
|
|||
struct subd *new_channel_subd_(struct lightningd *ld,
|
||||
const char *name,
|
||||
void *channel,
|
||||
const struct node_id *node_id,
|
||||
struct log *base_log,
|
||||
bool talks_to_peer,
|
||||
const char *(*msgname)(int msgtype),
|
||||
|
@ -127,9 +130,10 @@ struct subd *new_channel_subd_(struct lightningd *ld,
|
|||
const char *happenings),
|
||||
...);
|
||||
|
||||
#define new_channel_subd(ld, name, channel, log, talks_to_peer, msgname, \
|
||||
msgcb, errcb, billboardcb, ...) \
|
||||
new_channel_subd_((ld), (name), (channel), (log), (talks_to_peer), \
|
||||
#define new_channel_subd(ld, name, channel, node_id, log, talks_to_peer, \
|
||||
msgname, msgcb, errcb, billboardcb, ...) \
|
||||
new_channel_subd_((ld), (name), (channel), (node_id), (log), \
|
||||
(talks_to_peer), \
|
||||
(msgname), (msgcb), \
|
||||
typesafe_cb_postargs(void, void *, (errcb), \
|
||||
(channel), \
|
||||
|
|
Loading…
Add table
Reference in a new issue