peer_controller

package
v0.33.0 Latest Latest
Warning

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

Go to latest
Published: Jun 5, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const ConfigID = ControllerID

ConfigID is the identifier for the config type.

View Source
const ControllerID = "bifrost/peer"

ControllerID is the ID of the controller.

Variables

View Source
var Version = semver.MustParse("0.0.1")

Version is the version of the controller implementation.

Functions

This section is empty.

Types

type Config

type Config struct {

	// PrivKey is the peer private key in either b58 or PEM format.
	// See confparse.MarshalPrivateKey.
	// If not set, the peer private key will be unavailable.
	PrivKey string `protobuf:"bytes,1,opt,name=priv_key,json=privKey,proto3" json:"privKey,omitempty"`
	// PubKey is the peer public key.
	// Ignored if priv_key is set.
	PubKey string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pubKey,omitempty"`
	// PeerId is the peer identifier.
	// Ignored if priv_key or pub_key are set.
	// The peer ID should contain the public key.
	PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peerId,omitempty"`
	// contains filtered or unexported fields
}

Config is the peer controller config.

func NewConfigWithPrivKey

func NewConfigWithPrivKey(pk crypto.PrivKey) (*Config, error)

NewConfigWithPrivKey builds a new configuration with a private key

func (*Config) CloneMessageVT added in v0.15.6

func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage

func (*Config) CloneVT added in v0.8.3

func (m *Config) CloneVT() *Config

func (*Config) EqualMessageVT added in v0.15.6

func (this *Config) EqualMessageVT(thatMsg any) bool

func (*Config) EqualVT added in v0.3.0

func (this *Config) EqualVT(that *Config) bool

func (*Config) EqualsConfig

func (c *Config) EqualsConfig(c2 config.Config) bool

EqualsConfig checks equality between two configs.

func (*Config) GetConfigID

func (c *Config) GetConfigID() string

GetConfigID returns the config identifier.

func (*Config) GetPeerId added in v0.7.5

func (x *Config) GetPeerId() string

func (*Config) GetPrivKey

func (x *Config) GetPrivKey() string

func (*Config) GetPubKey added in v0.7.5

func (x *Config) GetPubKey() string

func (*Config) MarshalJSON added in v0.29.0

func (x *Config) MarshalJSON() ([]byte, error)

MarshalJSON marshals the Config to JSON.

func (*Config) MarshalProtoJSON added in v0.29.0

func (x *Config) MarshalProtoJSON(s *json.MarshalState)

MarshalProtoJSON marshals the Config message to JSON.

func (*Config) MarshalProtoText added in v0.29.2

func (x *Config) MarshalProtoText() string

func (*Config) MarshalToSizedBufferVT added in v0.2.0

func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error)

func (*Config) MarshalToVT added in v0.2.0

func (m *Config) MarshalToVT(dAtA []byte) (int, error)

func (*Config) MarshalVT added in v0.2.0

func (m *Config) MarshalVT() (dAtA []byte, err error)

func (*Config) ParsePeerID added in v0.7.5

func (c *Config) ParsePeerID() (peer.ID, error)

ParsePeerID parses the peer ID. may return nil.

func (*Config) ParsePrivateKey

func (c *Config) ParsePrivateKey() (crypto.PrivKey, error)

ParsePrivateKey parses the private key from the configuration. Returns nil, nil if unset.

func (*Config) ParsePublicKey added in v0.7.5

func (c *Config) ParsePublicKey() (crypto.PubKey, error)

ParsePublicKey parses the public key from the configuration. Returns nil, nil if unset.

func (*Config) ParseToPeer added in v0.7.5

func (c *Config) ParseToPeer() (peer.Peer, error)

ParseToPeer parses the fields and builds the corresponding Peer.

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (x *Config) Reset()

func (*Config) SizeVT added in v0.2.0

func (m *Config) SizeVT() (n int)

func (*Config) String

func (x *Config) String() string

func (*Config) UnmarshalJSON added in v0.29.0

func (x *Config) UnmarshalJSON(b []byte) error

UnmarshalJSON unmarshals the Config from JSON.

func (*Config) UnmarshalProtoJSON added in v0.29.0

func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)

UnmarshalProtoJSON unmarshals the Config message from JSON.

func (*Config) UnmarshalVT added in v0.2.0

func (m *Config) UnmarshalVT(dAtA []byte) error

func (*Config) Validate

func (c *Config) Validate() error

Validate validates the configuration.

type Controller

type Controller struct {
	// Peer is the underlying peer
	peer.Peer
	// contains filtered or unexported fields
}

Controller is the Peer controller. It implements peer.Peer as a controller. It implements a "localhost" loopback transport for the peer.

func NewController

func NewController(le *logrus.Entry, p peer.Peer) *Controller

NewController constructs a new peer controller. If privKey is nil, one will be generated.

func (*Controller) Close

func (c *Controller) Close() error

Close releases any resources used by the controller. Error indicates any issue encountered releasing.

func (*Controller) Execute

func (c *Controller) Execute(ctx context.Context) error

Execute executes the controller goroutine. Returning nil ends execution. Returning an error triggers a retry with backoff.

func (*Controller) GetControllerInfo

func (c *Controller) GetControllerInfo() *controller.Info

GetControllerInfo returns information about the controller.

func (*Controller) HandleDirective

func (c *Controller) HandleDirective(
	ctx context.Context,
	di directive.Instance,
) ([]directive.Resolver, error)

HandleDirective asks if the handler can resolve the directive. If it can, it returns a resolver. If not, returns nil. Any unexpected errors are returned for logging. It is safe to add a reference to the directive during this call.

type Factory

type Factory struct{}

Factory constructs a Peer controller.

func NewFactory

func NewFactory(b bus.Bus) *Factory

NewFactory builds a peer controller factory.

func (*Factory) Construct

func (t *Factory) Construct(
	ctx context.Context,
	conf config.Config,
	opts controller.ConstructOpts,
) (controller.Controller, error)

Construct constructs the associated controller given configuration.

func (*Factory) ConstructConfig

func (t *Factory) ConstructConfig() config.Config

ConstructConfig constructs an instance of the controller configuration.

func (*Factory) GetConfigID

func (t *Factory) GetConfigID() string

GetConfigID returns the configuration ID for the controller.

func (*Factory) GetControllerID

func (t *Factory) GetControllerID() string

GetControllerID returns the unique ID for the controller.

func (*Factory) GetVersion

func (t *Factory) GetVersion() semver.Version

GetVersion returns the version of this controller.

Jump to

Keyboard shortcuts

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