Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Environment ¶
type Environment struct {
// Path to the IPFS repo.
Repo string
// The plugin's config, if specified in the
// Plugins.Plugins["plugin-name"].Config field of the user's go-ipfs
// config. See docs/plugins.md for details.
//
// This is an arbitrary JSON-like object unmarshaled into an interface{}
// according to https://golang.org/pkg/encoding/json/#Unmarshal.
Config interface{}
}
Environment is the environment passed into the plugin on init.
type Plugin ¶
type Plugin interface {
// Name should return unique name of the plugin
Name() string
// Version returns current version of the plugin
Version() string
// Init is called once when the Plugin is being loaded
// The plugin is passed an environment containing the path to the
// (possibly uninitialized) IPFS repo and the plugin's config.
Init(env *Environment) error
}
Plugin is the base interface for all kinds of go-ipfs plugins It will be included in interfaces of different Plugins
Optionally, Plugins can implement io.Closer if they want to have a termination step when unloading.
type PluginDaemon ¶
type PluginDaemon interface {
Plugin
Start(coreiface.CoreAPI) error
}
PluginDaemon is an interface for daemon plugins. These plugins will be run on the daemon and will be given access to an implementation of the CoreAPI.
type PluginDaemonInternal ¶
type PluginDaemonInternal interface {
Plugin
Start(*core.IpfsNode) error
}
PluginDaemonInternal is an interface for daemon plugins. These plugins will be run on the daemon and will be given a direct access to the IpfsNode.
Note: PluginDaemonInternal is considered internal and no guarantee is made concerning the stability of its API. If you can, use PluginAPI instead.
type PluginDatastore ¶
type PluginDatastore interface {
Plugin
DatastoreTypeName() string
DatastoreConfigParser() fsrepo.ConfigFromMap
}
PluginDatastore is an interface that can be implemented to add handlers for for different datastores
type PluginIPLD ¶
type PluginIPLD interface {
Plugin
RegisterBlockDecoders(dec ipld.BlockDecoder) error
RegisterInputEncParsers(iec coredag.InputEncParsers) error
}
PluginIPLD is an interface that can be implemented to add handlers for for different IPLD formats
type PluginTracer ¶
type PluginTracer interface {
Plugin
InitTracer() (opentracing.Tracer, error)
}
PluginTracer is an interface that can be implemented to add a tracer