Commit graph

11 commits

Author SHA1 Message Date
Rusty Russell
c797b6fb20 libplugin: add method string to jsonrpc callbacks, implement generic helpers.
Without knowing what method was called, we can't have useful general logging
methods, so go through the pain of adding "const char *method" everywhere,
and add:

1. ignore_and_complete - we're done when jsonrpc returned
2. log_broken_and_complete - we're done, but emit BROKEN log.
3. plugin_broken_cb - if this happens, fail the plugin.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-11-07 17:04:35 +10:30
Rusty Russell
c5099b1647 libplugin: clean up API.
When we used to allow cmd to be NULL, we had to hand the plugin
everywhere.  We no longer do.

1. Various jsonrpc_ functions no longer need the plugin arg.
2. send_outreq no longer needs a plugin arg.
3. The init function takes a command, not a plugin.
4. Remove command_deprecated_in_nocmd_ok.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-11-07 17:04:35 +10:30
Rusty Russell
7ce30e2873 libplugin: make timers have a "command" context.
This is cleaner: everything can now be associated with a command
context.

You're supposed to eventually dispose of it using timer_complete().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-11-07 17:04:35 +10:30
Rusty Russell
11bfbf5deb libplugin: add data pointer for plugin convenience.
This avoids globals (and means memleak traverses the variables!): we
only change over the test plugin though, to avoid unnecessary churn.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-08-07 20:35:30 +09:30
Rusty Russell
e0e879c003 common: remove type_to_string files altogther.
This means including <common/utils.h> where it was indirectly included.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-03-20 13:51:48 +10:30
Rusty Russell
37d22f9141 global: change all type_to_string to fmt_X.
This has the benefit of being shorter, as well as more reliable (you
will get a link error if we can't print it, not a runtime one!).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-03-20 13:51:48 +10:30
Christian Decker
d1101f416f plugin: Make the recover plugin less noisy
We also reduce the frequency of the
various checks from every 2 seconds
to every 30 seconds.

Changelog-Fixed plugin: The recovery plugin is less noisy
2024-03-06 11:45:39 +01:00
Aditya Sharma
e3b4ed416c plugins/recover: Load gossmap, connect to old peers and fetch peer_storage and then call restorefrompeer repeatedly. 2024-02-16 22:17:46 +01:00
Aditya Sharma
7afdea363d plugins/recover: entering_recovering_mode should connect to most connected nodes on the network and call emergency_recover immediately. 2024-02-16 22:17:46 +01:00
Aditya Sharma
9c1f2b312c plugins/recover: Initialise process to detect lost state through listpeerchannels. 2024-02-16 22:17:46 +01:00
Aditya Sharma
4031bafc87 Plugins: Add recover plugin which'd identify if we've lost some state and try to recover the node by entering mode. 2024-02-16 22:17:46 +01:00