web_pkg_rpc_server

package
v0.56.1 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2026 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const ConfigID = ControllerID

ConfigID is the config identifier.

View Source
const ControllerID = "bldr/web/pkg/rpc/server"

ControllerID is the web pkg rpc server controller id.

Variables

View Source
var Version = controller.MustParseVersion("0.0.1")

Version is the controller version.

Functions

This section is empty.

Types

type Config

type Config struct {

	// ServiceIdPrefix is the service id prefix to listen on.
	// If empty, defaults to web.pkg.rpc.AccessWebPkg.
	ServiceIdPrefix string `protobuf:"bytes,1,opt,name=service_id_prefix,json=serviceIdPrefix,proto3" json:"serviceIdPrefix,omitempty"`
	// WebPkgIdRe is a regex string to match web pkgs IDs.
	// Set to '.*' or empty to match all web pkgs ids.
	WebPkgIdRe string `protobuf:"bytes,2,opt,name=web_pkg_id_re,json=webPkgIdRe,proto3" json:"webPkgIdRe,omitempty"`
	// WebPkgIdPrefixes is a list of web pkg id prefixes to match.
	// If the value is in this list, overrides web_pkg_id_re.
	// Set to '.*' or empty to match all web pkgs ids.
	WebPkgIdPrefixes []string `protobuf:"bytes,3,rep,name=web_pkg_id_prefixes,json=webPkgIdPrefixes,proto3" json:"webPkgIdPrefixes,omitempty"`
	// WebPkgIdList is a list of web pkg IDs to resolve.
	// If the value is in this list, overrides web_pkg_id_re and web_pkg_id_prefixes.
	// Ignored if empty.
	WebPkgIdList []string `protobuf:"bytes,4,rep,name=web_pkg_id_list,json=webPkgIdList,proto3" json:"webPkgIdList,omitempty"`
	// ReleaseDelay is a delay duration to wait before releasing a unreferenced web pkg.
	// If empty string, defaults to 1s (1 second).
	ReleaseDelay string `protobuf:"bytes,5,opt,name=release_delay,json=releaseDelay,proto3" json:"releaseDelay,omitempty"`
	// Backoff is the backoff config for resolving web pkgs.
	// If unset, defaults to reasonable defaults.
	Backoff *backoff.Backoff `protobuf:"bytes,6,opt,name=backoff,proto3" json:"backoff,omitempty"`
	// contains filtered or unexported fields
}

Config configures the web pkg rpc server. Provides the AccessWebPkg RPC service. Resolves LookupRpcService. Provides one or more services according to the pkg ids:

  • web.pkg.rpc.AccessWebPkg/@aperturerobotics/util/ -> LookupWebPkg<@aperturerobotics/util>
  • web.pkg.rpc.AccessWebPkg/react -> LookupWebPkg<react>

func NewConfig

func NewConfig(serviceIDPrefix string, webPkgIdList []string) *Config

NewConfig constructs a config with a web pkg id list.

func NewConfigWithRe

func NewConfigWithRe(serviceIDPrefix, webPkgIdRe string) *Config

NewConfigWithRe constructs a config with a web pkg id regex.

func (*Config) CloneMessageVT

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

func (*Config) CloneVT

func (m *Config) CloneVT() *Config

func (*Config) EqualMessageVT

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

func (*Config) EqualVT

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

func (*Config) EqualsConfig

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

EqualsConfig checks if the config is equal to another.

func (*Config) GetBackoff

func (x *Config) GetBackoff() *backoff.Backoff

func (*Config) GetConfigID

func (c *Config) GetConfigID() string

GetConfigID returns the unique string for this configuration type.

func (*Config) GetReleaseDelay

func (x *Config) GetReleaseDelay() string

func (*Config) GetServiceIdPrefix

func (x *Config) GetServiceIdPrefix() string

func (*Config) GetWebPkgIdList

func (x *Config) GetWebPkgIdList() []string

func (*Config) GetWebPkgIdPrefixes

func (x *Config) GetWebPkgIdPrefixes() []string

func (*Config) GetWebPkgIdRe

func (x *Config) GetWebPkgIdRe() string

func (*Config) MarshalJSON

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

MarshalJSON marshals the Config to JSON.

func (*Config) MarshalProtoJSON

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

MarshalProtoJSON marshals the Config message to JSON.

func (*Config) MarshalProtoText

func (x *Config) MarshalProtoText() string

func (*Config) MarshalToSizedBufferVT

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

func (*Config) MarshalToVT

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

func (*Config) MarshalVT

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

func (*Config) ParseReleaseDelay

func (c *Config) ParseReleaseDelay() (time.Duration, error)

ParseReleaseDelay parses the release delay field. Applies the default value if the field is empty.

func (*Config) ParseWebPkgIdRe

func (c *Config) ParseWebPkgIdRe() (*regexp.Regexp, error)

ParseWebPkgIdRe parses the web pkg id regex field. Returns nil if the field was empty.

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (x *Config) Reset()

func (*Config) SizeVT

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

func (*Config) String

func (x *Config) String() string

func (*Config) UnmarshalJSON

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

UnmarshalJSON unmarshals the Config from JSON.

func (*Config) UnmarshalProtoJSON

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

UnmarshalProtoJSON unmarshals the Config message from JSON.

func (*Config) UnmarshalVT

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

func (*Config) Validate

func (c *Config) Validate() error

Validate validates the configuration. This is a cursory validation to see if the values "look correct."

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller implements the web pkg rpc server.

func NewController

func NewController(
	le *logrus.Entry,
	bus bus.Bus,
	cc *Config,
) (*Controller, error)

NewController constructs a new controller.

func (*Controller) Close

func (c *Controller) Close() error

Close releases any resources used by the controller.

func (*Controller) Execute

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

Execute executes the controller goroutine.

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.

type Factory

type Factory = bus.BusFactory[*Config, *Controller]

Factory constructs a controller.

func NewFactory

func NewFactory(b bus.Bus) *Factory

NewFactory builds the controller factory.

type WebPkgServer

type WebPkgServer struct {
	// contains filtered or unexported fields
}

WebPkgServer implements the WebPkg service server. Serves AccessWebPkg and FSCursorService on the same service ID.

func NewWebPkgServer

func NewWebPkgServer(le *logrus.Entry, pkg web_pkg.WebPkg) *WebPkgServer

NewWebPkgServer constructs a new web pkg server.

func (*WebPkgServer) GetWebPkgFsMux

func (s *WebPkgServer) GetWebPkgFsMux(ctx context.Context, _ string, _ func()) (srpc.Invoker, func(), error)

GetWebPkgFsMux returns the mux for the web pkg fs service.

func (*WebPkgServer) GetWebPkgInfo

GetWebPkgInfo returns the information about the web pkg.

func (*WebPkgServer) WebPkgFsRpc

WebPkgFsRpc performs an RPC against the web pkg filesystem FSCursorService.

Jump to

Keyboard shortcuts

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