Help us shape the future of Go! Take the 2026 Go Developer Survey

web_pkg_rpc_client

package
v0.57.21 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const ConfigID = ControllerID

ConfigID is the config identifier.

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

ControllerID is the web pkg rpc client 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 use to lookup the rpc service.
	// If empty, defaults to web.pkg.rpc.AccessWebPkg.
	ServiceIdPrefix string `protobuf:"bytes,1,opt,name=service_id_prefix,json=serviceIdPrefix,proto3" json:"serviceIdPrefix,omitempty"`
	// ClientId is the client identifier to use.
	// May be empty.
	ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"clientId,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,3,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,4,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,5,rep,name=web_pkg_id_list,json=webPkgIdList,proto3" json:"webPkgIdList,omitempty"`
	// contains filtered or unexported fields
}

Config configures the web pkg rpc client. Resolves LookupWebPkg via LookupRpcService:

  • LookupWebPkg<@aperturerobotics/util> -> web.pkg.rpc.AccessWebPkg/@aperturerobotics/util/
  • LookupWebPkg<react> -> web.pkg.rpc.AccessWebPkg/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) GetClientId

func (x *Config) GetClientId() string

func (*Config) GetConfigID

func (c *Config) GetConfigID() string

GetConfigID returns the unique string for this configuration type.

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) 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 client.

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 RemoteWebPkg

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

RemoteWebPkg implements web/pkg.WebPkg backed by web/pkg/rpc.

func NewRemoteWebPkg

func NewRemoteWebPkg(
	ctx context.Context,
	id string,
	client web_pkg_rpc.SRPCAccessWebPkgClient,
) (*RemoteWebPkg, error)

NewRemoteWebPkg constructs a new remote web pkg client.

The context is used for the long-lived fs handle client call.

func (*RemoteWebPkg) GetId

func (r *RemoteWebPkg) GetId() string

GetId returns the web package identifier.

func (*RemoteWebPkg) GetInfo

func (r *RemoteWebPkg) GetInfo(ctx context.Context) (*web_pkg.WebPkgInfo, error)

GetInfo returns the WebPkgInfo for the WebPkg.

func (*RemoteWebPkg) GetWebPkgFsHandle

func (r *RemoteWebPkg) GetWebPkgFsHandle(ctx context.Context) (*unixfs.FSHandle, error)

GetWebPkgFsHandle returns a fs cursor which can be used to access the WebPkg fs. Use unixfs.NewFSCursorGetter if async lookup logic is required.

func (*RemoteWebPkg) Release

func (r *RemoteWebPkg) Release()

Release releases the internal fs cursor.

Jump to

Keyboard shortcuts

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