pkg rpc, const GlobMethod ideal-string
pkg rpc, const PublisherMounted PublisherState
pkg rpc, const PublisherMounting PublisherState
pkg rpc, const PublisherUnmounted PublisherState
pkg rpc, const PublisherUnmounting PublisherState
pkg rpc, const ReservedMethodSignature ideal-string
pkg rpc, const ReservedSignature ideal-string
pkg rpc, const ServerActive ServerState
pkg rpc, const ServerStopped ServerState
pkg rpc, const ServerStopping ServerState
pkg rpc, func ChildrenGlobberInvoker(...string) Invoker
pkg rpc, func NewGlobState(interface{}) *GlobState
pkg rpc, func PublisherNames([]PublisherEntry) []string
pkg rpc, func PublisherServers([]PublisherEntry) []string
pkg rpc, func ReflectInvoker(interface{}) (Invoker, error)
pkg rpc, func ReflectInvokerOrDie(interface{}) Invoker
pkg rpc, func TypeCheckMethods(interface{}) map[string]error
pkg rpc, method (*Request) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg rpc, method (*Request) MakeVDLTarget() vdl.Target
pkg rpc, method (*Request) VDLRead(vdl.Decoder) error
pkg rpc, method (*RequestTarget) FinishField(vdl.Target, vdl.Target) error
pkg rpc, method (*RequestTarget) FinishFields(vdl.FieldsTarget) error
pkg rpc, method (*RequestTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg rpc, method (*RequestTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg rpc, method (*RequestTarget) ZeroField(string) error
pkg rpc, method (*Response) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg rpc, method (*Response) MakeVDLTarget() vdl.Target
pkg rpc, method (*Response) VDLRead(vdl.Decoder) error
pkg rpc, method (*ResponseTarget) FinishField(vdl.Target, vdl.Target) error
pkg rpc, method (*ResponseTarget) FinishFields(vdl.FieldsTarget) error
pkg rpc, method (*ResponseTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg rpc, method (*ResponseTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg rpc, method (*ResponseTarget) ZeroField(string) error
pkg rpc, method (AddressChooserFunc) ChooseAddresses(string, []net.Addr) ([]net.Addr, error)
pkg rpc, method (ListenSpec) Copy() ListenSpec
pkg rpc, method (ListenSpec) String() string
pkg rpc, method (PublisherEntry) String() string
pkg rpc, method (PublisherState) String() string
pkg rpc, method (Request) VDLWrite(vdl.Encoder) error
pkg rpc, method (Response) VDLWrite(vdl.Encoder) error
pkg rpc, method (ServerState) String() string
pkg rpc, type AddressChooser interface { ChooseAddresses }
pkg rpc, type AddressChooser interface, ChooseAddresses(string, []net.Addr) ([]net.Addr, error)
pkg rpc, type AddressChooserFunc func(protocol string, candidates []net.Addr) ([]net.Addr, error)
pkg rpc, type AllGlobber interface { Glob__ }
pkg rpc, type AllGlobber interface, Glob__(*context.T, GlobServerCall, *glob.Glob) error
pkg rpc, type ArgDesc struct
pkg rpc, type ArgDesc struct, Doc string
pkg rpc, type ArgDesc struct, Name string
pkg rpc, type CallOpt interface { RPCCallOpt }
pkg rpc, type CallOpt interface, RPCCallOpt()
pkg rpc, type ChildrenGlobber interface { GlobChildren__ }
pkg rpc, type ChildrenGlobber interface, GlobChildren__(*context.T, GlobChildrenServerCall, *glob.Element) error
pkg rpc, type Client interface { Call, Close, Closed, PinConnection, StartCall }
pkg rpc, type Client interface, Call(*context.T, string, string, []interface{}, []interface{}, ...CallOpt) error
pkg rpc, type Client interface, Close()
pkg rpc, type Client interface, Closed() <-chan struct{}
pkg rpc, type Client interface, PinConnection(*context.T, string, ...CallOpt) (flow.PinnedConn, error)
pkg rpc, type Client interface, StartCall(*context.T, string, string, []interface{}, ...CallOpt) (ClientCall, error)
pkg rpc, type ClientCall interface { CloseSend, Finish, Recv, RemoteBlessings, Security, Send }
pkg rpc, type ClientCall interface, CloseSend() error
pkg rpc, type ClientCall interface, Finish(...interface{}) error
pkg rpc, type ClientCall interface, Recv(interface{}) error
pkg rpc, type ClientCall interface, RemoteBlessings() ([]string, security.Blessings)
pkg rpc, type ClientCall interface, Security() security.Call
pkg rpc, type ClientCall interface, Send(interface{}) error
pkg rpc, type ClientOpt interface { RPCClientOpt }
pkg rpc, type ClientOpt interface, RPCClientOpt()
pkg rpc, type Describer interface { Describe__ }
pkg rpc, type Describer interface, Describe__() []InterfaceDesc
pkg rpc, type Dispatcher interface { Lookup }
pkg rpc, type Dispatcher interface, Lookup(*context.T, string) (interface{}, security.Authorizer, error)
pkg rpc, type EmbedDesc struct
pkg rpc, type EmbedDesc struct, Doc string
pkg rpc, type EmbedDesc struct, Name string
pkg rpc, type EmbedDesc struct, PkgPath string
pkg rpc, type GlobChildrenServerCall interface { GrantedBlessings, LocalEndpoint, RemoteEndpoint, Security, SendStream, Server, Suffix }
pkg rpc, type GlobChildrenServerCall interface, GrantedBlessings() security.Blessings
pkg rpc, type GlobChildrenServerCall interface, LocalEndpoint() naming.Endpoint
pkg rpc, type GlobChildrenServerCall interface, RemoteEndpoint() naming.Endpoint
pkg rpc, type GlobChildrenServerCall interface, Security() security.Call
pkg rpc, type GlobChildrenServerCall interface, SendStream() interface {  Send(reply naming.GlobChildrenReply) error;}
pkg rpc, type GlobChildrenServerCall interface, Server() Server
pkg rpc, type GlobChildrenServerCall interface, Suffix() string
pkg rpc, type GlobServerCall interface { GrantedBlessings, LocalEndpoint, RemoteEndpoint, Security, SendStream, Server, Suffix }
pkg rpc, type GlobServerCall interface, GrantedBlessings() security.Blessings
pkg rpc, type GlobServerCall interface, LocalEndpoint() naming.Endpoint
pkg rpc, type GlobServerCall interface, RemoteEndpoint() naming.Endpoint
pkg rpc, type GlobServerCall interface, Security() security.Call
pkg rpc, type GlobServerCall interface, SendStream() interface {  Send(reply naming.GlobReply) error;}
pkg rpc, type GlobServerCall interface, Server() Server
pkg rpc, type GlobServerCall interface, Suffix() string
pkg rpc, type GlobState struct
pkg rpc, type GlobState struct, AllGlobber AllGlobber
pkg rpc, type GlobState struct, ChildrenGlobber ChildrenGlobber
pkg rpc, type Globber interface { Globber }
pkg rpc, type Globber interface, Globber() *GlobState
pkg rpc, type Granter interface { Grant, RPCCallOpt }
pkg rpc, type Granter interface, Grant(*context.T, security.Call) (security.Blessings, error)
pkg rpc, type Granter interface, RPCCallOpt()
pkg rpc, type InterfaceDesc struct
pkg rpc, type InterfaceDesc struct, Doc string
pkg rpc, type InterfaceDesc struct, Embeds []EmbedDesc
pkg rpc, type InterfaceDesc struct, Methods []MethodDesc
pkg rpc, type InterfaceDesc struct, Name string
pkg rpc, type InterfaceDesc struct, PkgPath string
pkg rpc, type Invoker interface { Globber, Invoke, MethodSignature, Prepare, Signature }
pkg rpc, type Invoker interface, Globber() *GlobState
pkg rpc, type Invoker interface, Invoke(*context.T, StreamServerCall, string, []interface{}) ([]interface{}, error)
pkg rpc, type Invoker interface, MethodSignature(*context.T, ServerCall, string) (signature.Method, error)
pkg rpc, type Invoker interface, Prepare(*context.T, string, int) ([]interface{}, []*vdl.Value, error)
pkg rpc, type Invoker interface, Signature(*context.T, ServerCall) ([]signature.Interface, error)
pkg rpc, type ListenAddrs []struct {  Protocol, Address string;}
pkg rpc, type ListenSpec struct
pkg rpc, type ListenSpec struct, Addrs ListenAddrs
pkg rpc, type ListenSpec struct, Proxy string
pkg rpc, type ListenSpec struct, embedded AddressChooser
pkg rpc, type MethodDesc struct
pkg rpc, type MethodDesc struct, Doc string
pkg rpc, type MethodDesc struct, InArgs []ArgDesc
pkg rpc, type MethodDesc struct, InStream ArgDesc
pkg rpc, type MethodDesc struct, Name string
pkg rpc, type MethodDesc struct, OutArgs []ArgDesc
pkg rpc, type MethodDesc struct, OutStream ArgDesc
pkg rpc, type MethodDesc struct, Tags []*vdl.Value
pkg rpc, type PublisherEntry struct
pkg rpc, type PublisherEntry struct, DesiredState PublisherState
pkg rpc, type PublisherEntry struct, LastMount time.Time
pkg rpc, type PublisherEntry struct, LastMountErr error
pkg rpc, type PublisherEntry struct, LastState PublisherState
pkg rpc, type PublisherEntry struct, LastUnmount time.Time
pkg rpc, type PublisherEntry struct, LastUnmountErr error
pkg rpc, type PublisherEntry struct, Name string
pkg rpc, type PublisherEntry struct, Server string
pkg rpc, type PublisherEntry struct, TTL time.Duration
pkg rpc, type PublisherState int
pkg rpc, type Request struct
pkg rpc, type Request struct, Deadline time.Deadline
pkg rpc, type Request struct, EndStreamArgs bool
pkg rpc, type Request struct, GrantedBlessings security.Blessings
pkg rpc, type Request struct, Language string
pkg rpc, type Request struct, Method string
pkg rpc, type Request struct, NumPosArgs uint64
pkg rpc, type Request struct, Suffix string
pkg rpc, type Request struct, TraceRequest vtrace.Request
pkg rpc, type RequestTarget struct
pkg rpc, type RequestTarget struct, Value *Request
pkg rpc, type RequestTarget struct, embedded vdl.FieldsTargetBase
pkg rpc, type RequestTarget struct, embedded vdl.TargetBase
pkg rpc, type Response struct
pkg rpc, type Response struct, AckBlessings bool
pkg rpc, type Response struct, EndStreamResults bool
pkg rpc, type Response struct, Error error
pkg rpc, type Response struct, NumPosResults uint64
pkg rpc, type Response struct, TraceResponse vtrace.Response
pkg rpc, type ResponseTarget struct
pkg rpc, type ResponseTarget struct, Value *Response
pkg rpc, type ResponseTarget struct, embedded vdl.FieldsTargetBase
pkg rpc, type ResponseTarget struct, embedded vdl.TargetBase
pkg rpc, type Server interface { AddName, Closed, RemoveName, Status }
pkg rpc, type Server interface, AddName(string) error
pkg rpc, type Server interface, Closed() <-chan struct{}
pkg rpc, type Server interface, RemoveName(string)
pkg rpc, type Server interface, Status() ServerStatus
pkg rpc, type ServerCall interface { GrantedBlessings, LocalEndpoint, RemoteEndpoint, Security, Server, Suffix }
pkg rpc, type ServerCall interface, GrantedBlessings() security.Blessings
pkg rpc, type ServerCall interface, LocalEndpoint() naming.Endpoint
pkg rpc, type ServerCall interface, RemoteEndpoint() naming.Endpoint
pkg rpc, type ServerCall interface, Security() security.Call
pkg rpc, type ServerCall interface, Server() Server
pkg rpc, type ServerCall interface, Suffix() string
pkg rpc, type ServerOpt interface { RPCServerOpt }
pkg rpc, type ServerOpt interface, RPCServerOpt()
pkg rpc, type ServerState int
pkg rpc, type ServerStatus struct
pkg rpc, type ServerStatus struct, Dirty <-chan struct{}
pkg rpc, type ServerStatus struct, Endpoints []naming.Endpoint
pkg rpc, type ServerStatus struct, ListenErrors map[struct{ Protocol, Address string }]error
pkg rpc, type ServerStatus struct, ProxyErrors map[string]error
pkg rpc, type ServerStatus struct, PublisherStatus []PublisherEntry
pkg rpc, type ServerStatus struct, ServesMountTable bool
pkg rpc, type ServerStatus struct, State ServerState
pkg rpc, type Stream interface { Recv, Send }
pkg rpc, type Stream interface, Recv(interface{}) error
pkg rpc, type Stream interface, Send(interface{}) error
pkg rpc, type StreamServerCall interface { GrantedBlessings, LocalEndpoint, Recv, RemoteEndpoint, Security, Send, Server, Suffix }
pkg rpc, type StreamServerCall interface, GrantedBlessings() security.Blessings
pkg rpc, type StreamServerCall interface, LocalEndpoint() naming.Endpoint
pkg rpc, type StreamServerCall interface, Recv(interface{}) error
pkg rpc, type StreamServerCall interface, RemoteEndpoint() naming.Endpoint
pkg rpc, type StreamServerCall interface, Security() security.Call
pkg rpc, type StreamServerCall interface, Send(interface{}) error
pkg rpc, type StreamServerCall interface, Server() Server
pkg rpc, type StreamServerCall interface, Suffix() string
pkg rpc, type UniversalServiceMethods interface {}
