Christian Decker
f69da84256
rs: Run hooks, methods and notification handlers in tokio tasks
...
Changelog-Changed: cln-plugin: Hooks, notifications and RPC methods now run asynchronously allowing for re-entrant handlers
2023-04-13 18:13:28 -07:00
Christian Decker
3d311c96b1
cln-plugin: Adjust visibility of some internals
2022-11-25 16:48:33 +01:00
Christian Decker
db62d542e1
cln-plugin: Make the configuration in init public
...
It was set to crate level visibility for some reason, not all that
helpful :-)
Suggested-by: Sergi Delgado Segura <@sr-gi>
2022-11-25 16:48:33 +01:00
Rusty Russell
ece77840f9
pyln-client, libplugin, rust cln-plugin: explicitly flag that we allow non-numeric JSON ids.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2022-11-21 11:23:54 +01:00
Rusty Russell
ce0b765c96
cln-rpc: allow id to be any token.
...
Suggested-by: @cdecker
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2022-09-16 12:31:45 +09:30
Justin Moon
42783aaa92
cln_plugin: Configure "dynamic" field in "getmanifest" message
2022-07-11 11:05:50 +02:00
Christian Decker
e6442d798e
cln-plugin: Make the proxy-related configuration Option<>
...
These are only populated if a proxy was specified, see
lightningd/plugin.c:1855, so we were getting upset when we expected
them and they weren't set.
2022-06-22 12:07:55 +02:00
Justin Moon
5ec424bc86
cln-plugin: Configuration struct
...
Represents the "configuration" part of the "init" message during
plugin initialization.
Changelog-Added: cln_plugin: persist cln configuration from init msg
2022-06-22 12:07:55 +02:00
Justin Moon
318b6e803e
cln-plugin: Add unittest for parsing "init" message
2022-06-22 12:07:55 +02:00
Justin Moon
14483901cd
cln-plugin: Save "configuration" from "init" method
2022-06-22 12:07:55 +02:00
Christian Decker
8717c4e5a2
cln-grpc: Add midstate between configuration and replying to init
...
This is a bit special, in that it allows us to configure the plugin,
but then still abort startup by sending `init` with the `disable` flag
set.
2022-04-10 14:16:35 +09:30
Christian Decker
60e773239c
cln-plugin: Add notification subscriptions and hooks to the plugins
...
For now hooks are treated identically to rpcmethods, with the
exception of not being returned in the `getmanifest` call. Later on we
can add typed handlers as well.
2022-03-10 10:21:41 +10:30
Christian Decker
8c6af21169
cln-plugin: Add support for synchronous RPC methods
...
Changelog-Experimental: cln-plugin: Added support for non-async RPC method passthrough (async support coming soon)
2022-03-10 10:21:41 +10:30
Christian Decker
fbcb4c33ad
cln-plugin: Populate the options when we get an init call
2022-03-10 10:21:41 +10:30
Christian Decker
249fa8675a
cln-plugin: Add options to the getmanifest call
2022-03-10 10:21:41 +10:30
Christian Decker
9ae1f33992
cln-plugin: Get started with the plugin interface
2022-03-10 10:21:41 +10:30