plugin: Add connect and disconnect notifications

Signed-off-by: Christian Decker <decker.christian@gmail.com>
This commit is contained in:
Christian Decker
2018-12-13 13:58:40 +01:00
parent 5813567856
commit 26f17e87a3
6 changed files with 47 additions and 0 deletions

View File

@@ -2,6 +2,8 @@
#include <ccan/array_size/array_size.h>
const char *notification_topics[] = {
"connect",
"disconnect",
};
bool notifications_have_topic(const char *topic)
@@ -11,3 +13,23 @@ bool notifications_have_topic(const char *topic)
return true;
return false;
}
void notify_connect(struct lightningd *ld, struct pubkey *nodeid,
struct wireaddr_internal *addr)
{
struct jsonrpc_notification *n =
jsonrpc_notification_start(NULL, notification_topics[0]);
json_add_pubkey(n->stream, "id", nodeid);
json_add_address_internal(n->stream, "address", addr);
jsonrpc_notification_end(n);
plugins_notify(ld->plugins, take(n));
}
void notify_disconnect(struct lightningd *ld, struct pubkey *nodeid)
{
struct jsonrpc_notification *n =
jsonrpc_notification_start(NULL, notification_topics[1]);
json_add_pubkey(n->stream, "id", nodeid);
jsonrpc_notification_end(n);
plugins_notify(ld->plugins, take(n));
}