shared

package
v1.25.0 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2021 License: Apache-2.0 Imports: 15 Imported by: 48

Documentation

Index

Constants

View Source
const StoragePluginIdentifier = "storage_plugin"

StoragePluginIdentifier is the identifier that is shared by plugin and host.

Variables

View Source
var Handshake = plugin.HandshakeConfig{
	MagicCookieKey:   "STORAGE_PLUGIN",
	MagicCookieValue: "jaeger",
}

Handshake is a common handshake that is shared by plugin and host.

View Source
var PluginMap = map[string]plugin.Plugin{
	StoragePluginIdentifier: &StorageGRPCPlugin{},
}

PluginMap is the map of plugins we can dispense.

Functions

This section is empty.

Types

type ArchiveStoragePlugin added in v1.20.0

type ArchiveStoragePlugin interface {
	ArchiveSpanReader() spanstore.Reader
	ArchiveSpanWriter() spanstore.Writer
}

ArchiveStoragePlugin is the interface we're exposing as a plugin.

type Capabilities added in v1.20.0

type Capabilities struct {
	ArchiveSpanReader bool
	ArchiveSpanWriter bool
}

Capabilities contains information about plugin capabilities

type ContextUpgradeFunc added in v1.23.0

type ContextUpgradeFunc func(ctx context.Context) context.Context

ContextUpgradeFunc is a functional type that can be composed to upgrade context

type PluginCapabilities added in v1.20.0

type PluginCapabilities interface {
	Capabilities() (*Capabilities, error)
}

PluginCapabilities allow expose plugin its capabilities.

type PluginServices added in v1.20.0

type PluginServices struct {
	Store        StoragePlugin
	ArchiveStore ArchiveStoragePlugin
}

PluginServices defines services plugin can expose

type StorageGRPCPlugin

type StorageGRPCPlugin struct {
	plugin.Plugin

	// Concrete implementation, This is only used for plugins that are written in Go.
	Impl        StoragePlugin
	ArchiveImpl ArchiveStoragePlugin
}

StorageGRPCPlugin is the implementation of plugin.GRPCPlugin.

func (*StorageGRPCPlugin) GRPCClient

func (*StorageGRPCPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

GRPCClient implements plugin.GRPCPlugin. It is used by go-plugin to create a grpc plugin client.

func (*StorageGRPCPlugin) GRPCServer

func (p *StorageGRPCPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

GRPCServer implements plugin.GRPCPlugin. It is used by go-plugin to create a grpc plugin server.

type StoragePlugin

type StoragePlugin interface {
	SpanReader() spanstore.Reader
	SpanWriter() spanstore.Writer
	DependencyReader() dependencystore.Reader
}

StoragePlugin is the interface we're exposing as a plugin.

Jump to

Keyboard shortcuts

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