plugin

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2023 License: GPL-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigureCLNPlugin added in v0.0.6

func ConfigureCLNPlugin[T MetricsPluginState](state T) (*cln4go.Plugin[T], error)

func OnInit added in v0.0.6

func OnInit[T MetricsPluginState](plugin *cln4go.Plugin[T], request map[string]any) map[string]any

Types

type ForceUpdateRPC added in v0.0.6

type ForceUpdateRPC[T MetricsPluginState] struct{}

ForceUpdateRPC enable the force update command

func (*ForceUpdateRPC[T]) Call added in v0.0.6

func (instance *ForceUpdateRPC[T]) Call(plugin *cln4go.Plugin[T], payload map[string]any) (map[string]any, error)

type LNMetricsCleanCacheRPC added in v0.0.6

type LNMetricsCleanCacheRPC[T MetricsPluginState] struct{}

func (*LNMetricsCleanCacheRPC[T]) Call added in v0.0.6

func (self *LNMetricsCleanCacheRPC[T]) Call(plugin *cln4go.Plugin[T], payload map[string]any) (map[string]any, error)

type LNMetricsInfoRPC added in v0.0.6

type LNMetricsInfoRPC[T MetricsPluginState] struct{}

func (*LNMetricsInfoRPC[T]) Call added in v0.0.6

func (self *LNMetricsInfoRPC[T]) Call(plugin *cln4go.Plugin[T], payload map[string]any) (map[string]any, error)

type MetricsPlugin

type MetricsPlugin struct {
	Metrics   map[int]metrics.Metric
	Rpc       *cln4go.UnixRPC
	Cron      *cron.Cron
	Server    *graphql.Client
	Storage   db.PluginDatabase
	WithProxy bool
}

FIXME: move this to a generics to set the Client in this way we could support different implementation

func (*MetricsPlugin) CallOnStopOnMetrics added in v0.0.6

func (plugin *MetricsPlugin) CallOnStopOnMetrics(metric metrics.Metric, msg *metrics.Msg)

callOnStopOnMetrics Call on stop operation on the node when the caller are shutdown itself.

func (*MetricsPlugin) CallUpdateOnMetric added in v0.0.6

func (plugin *MetricsPlugin) CallUpdateOnMetric(metric metrics.Metric, msg *metrics.Msg)

nolint

func (*MetricsPlugin) GetCron added in v0.0.6

func (self *MetricsPlugin) GetCron() *cron.Cron

func (*MetricsPlugin) GetMetrics added in v0.0.6

func (self *MetricsPlugin) GetMetrics() map[int]metrics.Metric

func (*MetricsPlugin) GetRpc added in v0.0.6

func (self *MetricsPlugin) GetRpc() *cln4go.UnixRPC

func (*MetricsPlugin) GetServer added in v0.0.6

func (self *MetricsPlugin) GetServer() *graphql.Client

func (*MetricsPlugin) GetStorage added in v0.0.6

func (self *MetricsPlugin) GetStorage() db.PluginDatabase

func (*MetricsPlugin) IsWithProxy added in v0.0.6

func (self *MetricsPlugin) IsWithProxy() bool

func (*MetricsPlugin) NewClient added in v0.0.6

func (self *MetricsPlugin) NewClient(path string) error

func (*MetricsPlugin) RegisterMetrics

func (plugin *MetricsPlugin) RegisterMetrics(id int, metric metrics.Metric) error

func (*MetricsPlugin) RegisterOneTimeEvt

func (plugin *MetricsPlugin) RegisterOneTimeEvt(after string)

func (*MetricsPlugin) RegisterRecurrentEvt

func (plugin *MetricsPlugin) RegisterRecurrentEvt(after string)

RegisterRecurrentEvt Register internal recurrent methods

func (*MetricsPlugin) SetProxy added in v0.0.6

func (self *MetricsPlugin) SetProxy(withProxy bool)

func (*MetricsPlugin) SetServer added in v0.0.6

func (self *MetricsPlugin) SetServer(server *graphql.Client)

func (*MetricsPlugin) SetStorage added in v0.0.6

func (self *MetricsPlugin) SetStorage(storage db.PluginDatabase)

type MetricsPluginState added in v0.0.6

type MetricsPluginState interface {
	GetRpc() *cln4go.UnixRPC

	NewClient(path string) error

	SetStorage(storage pluginDB.PluginDatabase)

	GetStorage() pluginDB.PluginDatabase

	RegisterOneTimeEvt(after string)

	RegisterMetrics(id int, metrics metrics.Metric) error

	SetProxy(withProxy bool)

	IsWithProxy() bool

	SetServer(server *graphql.Client)

	GetServer() *graphql.Client

	GetCron() *cron.Cron

	CallOnStopOnMetrics(metric metrics.Metric, msg *metrics.Msg)

	CallUpdateOnMetric(metric metrics.Metric, msg *metrics.Msg)

	GetMetrics() map[int]metrics.Metric
}

type OnShoutdown added in v0.0.6

type OnShoutdown[T MetricsPluginState] struct{}

func (*OnShoutdown[T]) Call added in v0.0.6

func (self *OnShoutdown[T]) Call(plugin *cln4go.Plugin[T], payload map[string]any)

type RawLocalScoreRPC added in v0.0.6

type RawLocalScoreRPC[T MetricsPluginState] struct{}

func NewRawLocalScoreRPC added in v0.0.6

func NewRawLocalScoreRPC[T MetricsPluginState]() *RawLocalScoreRPC[T]

func (*RawLocalScoreRPC[T]) Call added in v0.0.6

func (instance *RawLocalScoreRPC[T]) Call(plugin *cln4go.Plugin[T], payload map[string]any) (map[string]any, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL