Skip to content

Commit acbaae2

Browse files
committed
lightnind: add connectd's reported events to the db.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
1 parent 8741ea8 commit acbaae2

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

lightningd/connect_control.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,14 @@ static void connect_failed(struct lightningd *ld,
262262
{
263263
struct connect *c;
264264

265+
/* Don't record twice. */
266+
if (errcode != CONNECT_DISCONNECTED_DURING)
267+
wallet_save_network_event(ld, id,
268+
NETWORK_EVENT_CONNECTFAIL,
269+
errmsg,
270+
connect_nsec,
271+
connect_attempted);
272+
265273
/* We can have multiple connect commands: fail them all */
266274
while ((c = find_connect(ld, id)) != NULL) {
267275
/* They delete themselves from list */
@@ -490,6 +498,12 @@ static void handle_ping_latency(struct lightningd *ld, const u8 *msg)
490498

491499
log_peer_trace(ld->log, &id, "Ping latency: %"PRIu64"nsec",
492500
nsec);
501+
502+
wallet_save_network_event(ld, &id,
503+
NETWORK_EVENT_PING,
504+
NULL,
505+
nsec,
506+
false);
493507
}
494508

495509
static unsigned connectd_msg(struct subd *connectd, const u8 *msg, const int *fds)

lightningd/peer_control.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1739,6 +1739,12 @@ void handle_peer_connected(struct lightningd *ld, const u8 *msg)
17391739
connect_nsec = 0;
17401740
}
17411741

1742+
wallet_save_network_event(ld, &id,
1743+
NETWORK_EVENT_CONNECT,
1744+
hook_payload->incoming ? NULL : connect_reason,
1745+
connect_nsec,
1746+
false);
1747+
17421748
/* If we connected, and it's a normal address */
17431749
if (!hook_payload->incoming
17441750
&& hook_payload->addr.itype == ADDR_INTERNAL_WIREADDR
@@ -2084,6 +2090,10 @@ static void peer_disconnected(struct lightningd *ld,
20842090
struct disconnect_command *i, *next;
20852091
struct peer *p;
20862092

2093+
wallet_save_network_event(ld, id,
2094+
NETWORK_EVENT_DISCONNECT,
2095+
NULL, connected_time_nsec, false);
2096+
20872097
/* If we still have peer, it's disconnected now */
20882098
p = peer_by_id(ld, id);
20892099
if (p) {

lightningd/test/run-invoice-select-inchan.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,14 @@ char *wallet_offer_find(const tal_t *ctx UNNEEDED,
674674
enum offer_status *status)
675675

676676
{ fprintf(stderr, "wallet_offer_find called!\n"); abort(); }
677+
/* Generated stub for wallet_save_network_event */
678+
void wallet_save_network_event(struct lightningd *ld UNNEEDED,
679+
const struct node_id *peer_id UNNEEDED,
680+
enum network_event etype UNNEEDED,
681+
const char *reason UNNEEDED,
682+
u64 duration_nsec UNNEEDED,
683+
bool connect_attempted UNNEEDED)
684+
{ fprintf(stderr, "wallet_save_network_event called!\n"); abort(); }
677685
/* Generated stub for wallet_total_forward_fees */
678686
struct amount_msat wallet_total_forward_fees(struct wallet *w UNNEEDED)
679687
{ fprintf(stderr, "wallet_total_forward_fees called!\n"); abort(); }

0 commit comments

Comments
 (0)