Documentation ¶
Index ¶
- func AsInitiatorCall(context view.Context, initiator view.View, ...) (interface{}, error)
- func AsInitiatorView(context view.Context, initiator view.View) (interface{}, error)
- func AsResponder(context view.Context, session view.Session, ...) (interface{}, error)
- func Initiate(context view.Context, initiator view.View) (interface{}, error)
- func RunCall(context view.Context, v func(context view.Context) (interface{}, error)) (interface{}, error)
- func RunView(context view.Context, view view.View, opts ...view.RunViewOption)
- type MockContext
- func (c *MockContext) Context() context.Context
- func (c *MockContext) GetService(v interface{}) (interface{}, error)
- func (c *MockContext) GetSession(caller view.View, party view.Identity) (view.Session, error)
- func (c *MockContext) GetSessionByID(id string, party view.Identity) (view.Session, error)
- func (c *MockContext) ID() string
- func (c *MockContext) Initiator() view.View
- func (c *MockContext) IsMe(id view.Identity) bool
- func (c *MockContext) Me() view.Identity
- func (c *MockContext) OnError(callback func())
- func (c *MockContext) ResetSessions() error
- func (c *MockContext) RespondToAs(initiator view.View, responder view.Identity, r view.View)
- func (c *MockContext) RunView(view view.View, opts ...view.RunViewOption) (interface{}, error)
- func (c *MockContext) Session() view.Session
- type Responders
- type Stream
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AsInitiatorCall ¶
func AsInitiatorCall(context view.Context, initiator view.View, v func(context view.Context) (interface{}, error)) (interface{}, error)
AsInitiatorCall can be used by a responder to behave temporarily as an initiator. Recall that an initiator is characterized by having an initiator (`context.Initiator()`) set when the initiator is instantiated. AsInitiatorCall sets context.Initiator() to the passed initiator, and executes the passed view call. TODO: what happens to the sessions already openend with a different initiator (maybe an empty one)?
func AsInitiatorView ¶
AsInitiatorView can be used by a responder to behave temporarily as an initiator. Recall that an initiator is characterized by having an initiator (`context.Initiator()`) set when the initiator is instantiated. AsInitiatorView sets context.Initiator() to the passed initiator, and executes it.
func AsResponder ¶
func AsResponder(context view.Context, session view.Session, v func(context view.Context) (interface{}, error)) (interface{}, error)
AsResponder can be used by an initiator to behave temporarily as a responder. Recall that a responder is characterized by having a default session (`context.Session()`) established by an initiator.
func Initiate ¶
Initiate initiates a new protocol whose initiator's view is the passed one. The execution happens in a freshly created context. This is a shortcut for `view.GetManager(context).InitiateView(initiator)`.
Types ¶
type MockContext ¶ added in v0.3.0
func (*MockContext) Context ¶ added in v0.3.0
func (c *MockContext) Context() context.Context
func (*MockContext) GetService ¶ added in v0.3.0
func (c *MockContext) GetService(v interface{}) (interface{}, error)
func (*MockContext) GetSession ¶ added in v0.3.0
func (*MockContext) GetSessionByID ¶ added in v0.3.0
func (*MockContext) ID ¶ added in v0.3.0
func (c *MockContext) ID() string
func (*MockContext) Initiator ¶ added in v0.3.0
func (c *MockContext) Initiator() view.View
func (*MockContext) Me ¶ added in v0.3.0
func (c *MockContext) Me() view.Identity
func (*MockContext) OnError ¶ added in v0.3.0
func (c *MockContext) OnError(callback func())
func (*MockContext) ResetSessions ¶ added in v0.3.0
func (c *MockContext) ResetSessions() error
func (*MockContext) RespondToAs ¶ added in v0.3.0
func (*MockContext) RunView ¶ added in v0.3.0
func (c *MockContext) RunView(view view.View, opts ...view.RunViewOption) (interface{}, error)
func (*MockContext) Session ¶ added in v0.3.0
func (c *MockContext) Session() view.Session
type Responders ¶ added in v0.3.0
type Stream ¶ added in v0.3.0
func GetStream ¶ added in v0.3.0
func GetStream(sp view.ServiceProvider) Stream
func GetStreamIfExists ¶ added in v0.3.0
func GetStreamIfExists(sp view.ServiceProvider) (Stream, error)