Documentation
¶
Index ¶
- Constants
- Variables
- type Config
- func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
- func (m *Config) CloneVT() *Config
- func (this *Config) EqualMessageVT(thatMsg any) bool
- func (this *Config) EqualVT(that *Config) bool
- func (c *Config) EqualsConfig(other config.Config) bool
- func (x *Config) GetClientId() string
- func (c *Config) GetConfigID() string
- func (x *Config) GetServiceIdPrefix() string
- func (x *Config) GetWebPkgIdList() []string
- func (x *Config) GetWebPkgIdPrefixes() []string
- func (x *Config) GetWebPkgIdRe() string
- func (x *Config) MarshalJSON() ([]byte, error)
- func (x *Config) MarshalProtoJSON(s *json.MarshalState)
- func (x *Config) MarshalProtoText() string
- 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) ParseWebPkgIdRe() (*regexp.Regexp, error)
- func (*Config) ProtoMessage()
- func (x *Config) Reset()
- func (m *Config) SizeVT() (n int)
- func (x *Config) String() string
- func (x *Config) UnmarshalJSON(b []byte) error
- func (x *Config) UnmarshalProtoJSON(s *json.UnmarshalState)
- func (m *Config) UnmarshalVT(dAtA []byte) error
- func (c *Config) Validate() error
- type Controller
- type Factory
- type RemoteWebPkg
Constants ¶
const ConfigID = ControllerID
ConfigID is the config identifier.
const ControllerID = "bldr/web/pkg/rpc/client"
ControllerID is the web pkg rpc client controller id.
Variables ¶
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 NewConfigWithRe ¶
NewConfigWithRe constructs a config with a web pkg id regex.
func (*Config) CloneMessageVT ¶
func (m *Config) CloneMessageVT() protobuf_go_lite.CloneMessage
func (*Config) EqualMessageVT ¶
func (*Config) EqualsConfig ¶
EqualsConfig checks if the config is equal to another.
func (*Config) GetClientId ¶
func (*Config) GetConfigID ¶
GetConfigID returns the unique string for this configuration type.
func (*Config) GetServiceIdPrefix ¶
func (*Config) GetWebPkgIdList ¶
func (*Config) GetWebPkgIdPrefixes ¶
func (*Config) GetWebPkgIdRe ¶
func (*Config) MarshalJSON ¶
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 (*Config) MarshalToSizedBufferVT ¶
func (*Config) ParseWebPkgIdRe ¶
ParseWebPkgIdRe parses the web pkg id regex field. Returns nil if the field was empty.
func (*Config) ProtoMessage ¶
func (*Config) ProtoMessage()
func (*Config) UnmarshalJSON ¶
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 ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller implements the web pkg rpc client.
func NewController ¶
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 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 ¶
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.