Documentation ¶
Index ¶
- Constants
- Variables
- type Transport
- func (t *Transport) AsEndpoint() rpc.Endpoint
- func (t *Transport) Call(cmd client.CallCmd)
- func (t *Transport) Close() error
- func (t *Transport) Closed() <-chan struct{}
- func (t *Transport) ErrorChan() <-chan error
- func (t *Transport) Interrupt(cmd client.InterruptCmd)
- func (t *Transport) ProgressChan() <-chan client.RequestID
- func (t *Transport) RegisterMethod(cmd client.RegisterCmd)
- func (t *Transport) ReplyChan() <-chan client.RemoteCallReply
- func (t *Transport) RequestChan() <-chan client.RemoteRequest
- func (t *Transport) StreamFrameChan() <-chan client.StreamFrame
- func (t *Transport) UnregisterMethod(cmd client.UnregisterCmd)
- func (t *Transport) Wait() error
Constants ¶
View Source
const CommandChannelBufferSize = 1000
Variables ¶
View Source
var ( ErrTerminated = &services.ErrTerminated{"inproc RPC transport"} ErrDuplicateRequest = errors.New("duplicate request ID") ErrResolved = errors.New("request already resolved") )
Functions ¶
This section is empty.
Types ¶
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transport implements client.Transport so it can be used as the underlying transport for a Meeko client instance.
This particular transport is a bit special. It implements inproc transport that uses channels. It is suitable for clients that intend to live in the same process as Meeko.
For using Transport as a service Endpoint for the Meeko broker, check the AsEndpoint method.
func NewTransport ¶
NewTransport creates a new Transport instance.
func (*Transport) AsEndpoint ¶
AsEndpoint returns an adapter that makes Transport look like rpc.Endpoint.
func (*Transport) Interrupt ¶
func (t *Transport) Interrupt(cmd client.InterruptCmd)
func (*Transport) ProgressChan ¶
func (*Transport) RegisterMethod ¶
func (t *Transport) RegisterMethod(cmd client.RegisterCmd)
func (*Transport) ReplyChan ¶
func (t *Transport) ReplyChan() <-chan client.RemoteCallReply
func (*Transport) RequestChan ¶
func (t *Transport) RequestChan() <-chan client.RemoteRequest
func (*Transport) StreamFrameChan ¶
func (t *Transport) StreamFrameChan() <-chan client.StreamFrame
func (*Transport) UnregisterMethod ¶
func (t *Transport) UnregisterMethod(cmd client.UnregisterCmd)
Click to show internal directories.
Click to hide internal directories.