rpc

package
v0.0.0-...-144358a Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2014 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MessageTypeRegister byte = iota
	MessageTypeUnregister
	MessageTypeRequest
	MessageTypeInterrupt
	MessageTypeProgress
	MessageTypeStreamFrame
	MessageTypeReply
	MessageTypePing
	MessageTypePong
	MessageTypeKthxbye
)
View Source
const CommandChannelBufferSize = 1000

Command receive channel must be buffered to break a circle or unbuffered channels that would deadlock. Since all the loops are using select, and thus randomly picking messages, the channel must be large enough to fight the bad luck of the event loop sending to the channel subsequently without receiving from other channels.

View Source
const Header = "CDR#RPC@01"

Variables

View Source
var (
	ErrDuplicateRequest = errors.New("duplicate request ID")
	ErrTerminated       = &services.ErrTerminated{"ZeroMQ 3.x RPC transport"}
)
View Source
var ErrResolved = errors.New("request already resolved")

Functions

This section is empty.

Types

type Transport

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

func (*Transport) Call

func (t *Transport) Call(cmd rpc.CallCmd)

func (*Transport) Close

func (t *Transport) Close() error

func (*Transport) Closed

func (t *Transport) Closed() <-chan struct{}

func (*Transport) ErrorChan

func (t *Transport) ErrorChan() <-chan error

func (*Transport) Interrupt

func (t *Transport) Interrupt(cmd rpc.InterruptCmd)

func (*Transport) ProgressChan

func (t *Transport) ProgressChan() <-chan rpc.RequestID

func (*Transport) RegisterMethod

func (t *Transport) RegisterMethod(cmd rpc.RegisterCmd)

func (*Transport) ReplyChan

func (t *Transport) ReplyChan() <-chan rpc.RemoteCallReply

func (*Transport) RequestChan

func (t *Transport) RequestChan() <-chan rpc.RemoteRequest

func (*Transport) StreamFrameChan

func (t *Transport) StreamFrameChan() <-chan rpc.StreamFrame

func (*Transport) UnregisterMethod

func (t *Transport) UnregisterMethod(cmd rpc.UnregisterCmd)

func (*Transport) Wait

func (t *Transport) Wait() error

type TransportFactory

type TransportFactory struct {
	Endpoint string
	Sndhwm   int
	Rcvhwm   int
}

func NewTransportFactory

func NewTransportFactory() *TransportFactory

func (*TransportFactory) IsFullyConfigured

func (factory *TransportFactory) IsFullyConfigured() error

func (*TransportFactory) MustBeFullyConfigured

func (factory *TransportFactory) MustBeFullyConfigured() *TransportFactory

func (*TransportFactory) MustReadConfigFromEnv

func (factory *TransportFactory) MustReadConfigFromEnv(prefix string) *TransportFactory

func (*TransportFactory) NewTransport

func (factory *TransportFactory) NewTransport(identity string) (rpc.Transport, error)

func (*TransportFactory) ReadConfigFromEnv

func (factory *TransportFactory) ReadConfigFromEnv(prefix string) error

Jump to

Keyboard shortcuts

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