Documentation
¶
Index ¶
- type SpaceContentsResource
- func (r *SpaceContentsResource) GetMux() srpc.Invoker
- func (r *SpaceContentsResource) Release()
- func (r *SpaceContentsResource) SetPluginApproval(ctx context.Context, req *s4wave_space.SetPluginApprovalRequest) (*s4wave_space.SetPluginApprovalResponse, error)
- func (r *SpaceContentsResource) SetProcessBinding(ctx context.Context, req *s4wave_space.SetProcessBindingRequest) (*s4wave_space.SetProcessBindingResponse, error)
- func (r *SpaceContentsResource) WatchState(req *s4wave_space.WatchSpaceContentsStateRequest, ...) error
- type SpaceResource
- func (r *SpaceResource) AccessWorld(ctx context.Context, req *s4wave_space.AccessWorldRequest) (*s4wave_space.AccessWorldResponse, error)
- func (r *SpaceResource) AddSpacePlugin(ctx context.Context, req *s4wave_space.AddSpacePluginRequest) (*s4wave_space.AddSpacePluginResponse, error)
- func (r *SpaceResource) DeployManifest(strm s4wave_space.SRPCSpaceResourceService_DeployManifestStream) error
- func (r *SpaceResource) GetMux() srpc.Invoker
- func (r *SpaceResource) GetWorldEngine() world.Engine
- func (r *SpaceResource) GetWorldEngineBucketID() string
- func (r *SpaceResource) GetWorldEngineID() string
- func (r *SpaceResource) MountSpaceContents(ctx context.Context, req *s4wave_space.MountSpaceContentsRequest) (*s4wave_space.MountSpaceContentsResponse, error)
- func (r *SpaceResource) RemoveSpacePlugin(ctx context.Context, req *s4wave_space.RemoveSpacePluginRequest) (*s4wave_space.RemoveSpacePluginResponse, error)
- func (r *SpaceResource) WatchSpaceSharingState(req *s4wave_space.WatchSpaceSharingStateRequest, ...) error
- func (r *SpaceResource) WatchSpaceState(req *s4wave_space.WatchSpaceStateRequest, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SpaceContentsResource ¶
type SpaceContentsResource struct {
// contains filtered or unexported fields
}
SpaceContentsResource provides streaming plugin status for a mounted space.
func NewSpaceContentsResource ¶
func NewSpaceContentsResource(le *logrus.Entry, b bus.Bus, engine world.Engine, spaceID, engineID string) *SpaceContentsResource
NewSpaceContentsResource creates a new SpaceContentsResource.
func (*SpaceContentsResource) GetMux ¶
func (r *SpaceContentsResource) GetMux() srpc.Invoker
GetMux returns the rpc mux.
func (*SpaceContentsResource) Release ¶
func (r *SpaceContentsResource) Release()
Release releases the controller reference.
func (*SpaceContentsResource) SetPluginApproval ¶
func (r *SpaceContentsResource) SetPluginApproval( ctx context.Context, req *s4wave_space.SetPluginApprovalRequest, ) (*s4wave_space.SetPluginApprovalResponse, error)
SetPluginApproval sets the approval state for a plugin in this space.
func (*SpaceContentsResource) SetProcessBinding ¶
func (r *SpaceContentsResource) SetProcessBinding( ctx context.Context, req *s4wave_space.SetProcessBindingRequest, ) (*s4wave_space.SetProcessBindingResponse, error)
SetProcessBinding sets the approval state for a process binding.
func (*SpaceContentsResource) WatchState ¶
func (r *SpaceContentsResource) WatchState( req *s4wave_space.WatchSpaceContentsStateRequest, strm s4wave_space.SRPCSpaceContentsResourceService_WatchStateStream, ) error
WatchState streams the current plugin approval states for the space.
type SpaceResource ¶
type SpaceResource struct {
// contains filtered or unexported fields
}
SpaceResource wraps a Space for resource access.
func NewSpaceResource ¶
func NewSpaceResource(le *logrus.Entry, b bus.Bus, sp space.SpaceSharedObjectBody) *SpaceResource
NewSpaceResource creates a new SpaceResource.
func NewSpaceResourceWithSessionPeerID ¶ added in v0.51.2
func NewSpaceResourceWithSessionPeerID( le *logrus.Entry, b bus.Bus, sp space.SpaceSharedObjectBody, sessionPeerID string, ) *SpaceResource
NewSpaceResourceWithSessionPeerID creates a new SpaceResource with the mounted local session peer ID.
func (*SpaceResource) AccessWorld ¶
func (r *SpaceResource) AccessWorld( ctx context.Context, req *s4wave_space.AccessWorldRequest, ) (*s4wave_space.AccessWorldResponse, error)
AccessWorld accesses the World associated with the space.
func (*SpaceResource) AddSpacePlugin ¶
func (r *SpaceResource) AddSpacePlugin( ctx context.Context, req *s4wave_space.AddSpacePluginRequest, ) (*s4wave_space.AddSpacePluginResponse, error)
AddSpacePlugin adds a plugin manifest ID to the SpaceSettings plugin list.
func (*SpaceResource) DeployManifest ¶
func (r *SpaceResource) DeployManifest(strm s4wave_space.SRPCSpaceResourceService_DeployManifestStream) error
DeployManifest handles the bidirectional deploy manifest stream.
func (*SpaceResource) GetMux ¶
func (r *SpaceResource) GetMux() srpc.Invoker
GetMux returns the rpc mux.
func (*SpaceResource) GetWorldEngine ¶ added in v0.51.2
func (r *SpaceResource) GetWorldEngine() world.Engine
GetWorldEngine returns the Space world engine.
func (*SpaceResource) GetWorldEngineBucketID ¶ added in v0.51.2
func (r *SpaceResource) GetWorldEngineBucketID() string
GetWorldEngineBucketID returns the Space world engine bucket id.
func (*SpaceResource) GetWorldEngineID ¶ added in v0.51.2
func (r *SpaceResource) GetWorldEngineID() string
GetWorldEngineID returns the Space world engine id.
func (*SpaceResource) MountSpaceContents ¶
func (r *SpaceResource) MountSpaceContents( ctx context.Context, req *s4wave_space.MountSpaceContentsRequest, ) (*s4wave_space.MountSpaceContentsResponse, error)
MountSpaceContents activates plugins for the space and returns a sub-resource for monitoring plugin status.
func (*SpaceResource) RemoveSpacePlugin ¶
func (r *SpaceResource) RemoveSpacePlugin( ctx context.Context, req *s4wave_space.RemoveSpacePluginRequest, ) (*s4wave_space.RemoveSpacePluginResponse, error)
RemoveSpacePlugin removes a plugin manifest ID from the SpaceSettings plugin list.
func (*SpaceResource) WatchSpaceSharingState ¶
func (r *SpaceResource) WatchSpaceSharingState( req *s4wave_space.WatchSpaceSharingStateRequest, strm s4wave_space.SRPCSpaceResourceService_WatchSpaceSharingStateStream, ) error
WatchSpaceSharingState watches the sharing snapshot for the space.
All change sources (SO state, mailbox metadata) are folded into one local broadcast so the watch loop reads every input snapshot under the same HoldLock that obtains the wait channel. This eliminates the missed-wakeup race that the previous dual-channel select had to defend against with per-source buffered signals, and coalesces near-simultaneous source changes into a single emission instead of one emission per source.
func (*SpaceResource) WatchSpaceState ¶
func (r *SpaceResource) WatchSpaceState( req *s4wave_space.WatchSpaceStateRequest, strm s4wave_space.SRPCSpaceResourceService_WatchSpaceStateStream, ) error
WatchSpaceState watches the SpaceState for the component.