Documentation ¶
Index ¶
- Constants
- Variables
- type Config
- func (m *Config) CloneMessageVT() proto.Message
- func (m *Config) CloneVT() *Config
- func (*Config) Descriptor() ([]byte, []int)deprecated
- func (this *Config) EqualMessageVT(thatMsg proto.Message) bool
- func (this *Config) EqualVT(that *Config) bool
- func (c *Config) EqualsConfig(other config.Config) bool
- func (c *Config) GetConfigID() string
- func (x *Config) GetLocalPeerId() string
- func (x *Config) GetProtocolId() string
- func (x *Config) GetRemotePeerIds() []string
- func (x *Config) GetTransportId() uint64
- func (m *Config) MarshalToSizedBufferVT(dAtA []byte) (int, error)
- func (m *Config) MarshalToVT(dAtA []byte) (int, error)
- func (m *Config) MarshalVT() (dAtA []byte, err error)
- func (c *Config) ParseLocalPeerID() (peer.ID, error)
- func (*Config) ProtoMessage()
- func (x *Config) ProtoReflect() protoreflect.Message
- func (x *Config) Reset()
- func (m *Config) SizeVT() (n int)
- func (x *Config) String() string
- func (m *Config) UnmarshalVT(dAtA []byte) error
- func (c *Config) Validate() error
- type Controller
- func (c *Controller) AttachRPC(rpc stream_api_rpc.RPC) error
- func (c *Controller) Close() error
- func (c *Controller) Execute(ctx context.Context) error
- func (c *Controller) GetControllerInfo() *controller.Info
- func (c *Controller) HandleDirective(ctx context.Context, di directive.Instance) ([]directive.Resolver, error)
- func (c *Controller) Resolve(ctx context.Context, handler directive.ResolverHandler) error
- type Factory
- func (t *Factory) Construct(ctx context.Context, conf config.Config, opts controller.ConstructOpts) (controller.Controller, error)
- func (t *Factory) ConstructConfig() config.Config
- func (t *Factory) GetConfigID() string
- func (t *Factory) GetControllerID() string
- func (t *Factory) GetVersion() semver.Version
- type MountedStreamHandler
Constants ¶
const ConfigID = ControllerID
ConfigID is the string used to identify this config object.
const ControllerID = "bifrost/stream/accept"
ControllerID identifies the accept controller.
Variables ¶
var File_github_com_aperturerobotics_bifrost_stream_api_accept_accept_proto protoreflect.FileDescriptor
var Version = semver.MustParse("0.0.1")
Version is the controller version.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // LocalPeerId is the peer ID to accept incoming connections with. // Can be empty to accept any peer. LocalPeerId string `protobuf:"bytes,1,opt,name=local_peer_id,json=localPeerId,proto3" json:"local_peer_id,omitempty"` // RemotePeerIds are peer IDs to accept incoming connections from. // Can be empty to accept any remote peer IDs. RemotePeerIds []string `protobuf:"bytes,2,rep,name=remote_peer_ids,json=remotePeerIds,proto3" json:"remote_peer_ids,omitempty"` // ProtocolId is the protocol ID to accept. ProtocolId string `protobuf:"bytes,3,opt,name=protocol_id,json=protocolId,proto3" json:"protocol_id,omitempty"` // TransportId constrains the transport ID to accept from. // Can be empty. TransportId uint64 `protobuf:"varint,4,opt,name=transport_id,json=transportId,proto3" json:"transport_id,omitempty"` // contains filtered or unexported fields }
Config configures the accept controller.
func (*Config) CloneMessageVT ¶ added in v0.15.6
func (*Config) Descriptor
deprecated
func (*Config) EqualMessageVT ¶ added in v0.15.6
func (*Config) EqualsConfig ¶
EqualsConfig checks if the config is equal to another.
func (*Config) GetConfigID ¶
GetConfigID returns the unique string for this configuration type. This string is stored with the encoded config.
func (*Config) GetLocalPeerId ¶
func (*Config) GetProtocolId ¶
func (*Config) GetRemotePeerIds ¶
func (*Config) GetTransportId ¶
func (*Config) MarshalToSizedBufferVT ¶ added in v0.2.0
func (*Config) ParseLocalPeerID ¶
ParseLocalPeerID parses the local peer ID. may return nil.
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) ProtoReflect ¶ added in v0.2.0
func (x *Config) ProtoReflect() protoreflect.Message
func (*Config) UnmarshalVT ¶ added in v0.2.0
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller accepts HandleMountedStream via waiting RPC calls and streams data over the request and response streams.
func NewController ¶
NewController constructs a new accept controller.
func (*Controller) AttachRPC ¶
func (c *Controller) AttachRPC(rpc stream_api_rpc.RPC) error
AttachRPC attaches a RPC call to the controller.
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 accept controller. 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.
func (*Controller) Resolve ¶
func (c *Controller) Resolve(ctx context.Context, handler directive.ResolverHandler) error
Resolve resolves the values, emitting them to the handler.
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory constructs a controller
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 ¶
ConstructConfig constructs an instance of the controller configuration.
func (*Factory) GetConfigID ¶
GetConfigID returns the configuration ID for the controller.
func (*Factory) GetControllerID ¶
GetControllerID returns the unique ID for the controller.
func (*Factory) GetVersion ¶
GetVersion returns the version of this controller.
type MountedStreamHandler ¶
type MountedStreamHandler struct {
// contains filtered or unexported fields
}
MountedStreamHandler implements the mounted stream handler.
func NewMountedStreamHandler ¶
func NewMountedStreamHandler( le *logrus.Entry, bus bus.Bus, rpc *queuedRPC, ) (*MountedStreamHandler, error)
NewMountedStreamHandler constructs the mounted stream handler.
func (*MountedStreamHandler) HandleMountedStream ¶
func (m *MountedStreamHandler) HandleMountedStream( ctx context.Context, strm link.MountedStream, ) error
HandleMountedStream handles an incoming mounted stream. Any returned error indicates the stream should be closed. This function should return as soon as possible, and start additional goroutines to manage the lifecycle of the stream.