pkg rpc, const GlobMethod ideal-string
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 ReflectInvoker(interface{}) (Invoker, error)
pkg rpc, func ReflectInvokerOrDie(interface{}) Invoker
pkg rpc, func TypeCheckMethods(interface{}) map[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 (MountState) Names() []string
pkg rpc, method (MountState) Servers() []string
pkg rpc, method (MountStatus) String() string
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, 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, 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 MountState []MountStatus
pkg rpc, type MountStatus struct
pkg rpc, type MountStatus struct, LastMount time.Time
pkg rpc, type MountStatus struct, LastMountErr error
pkg rpc, type MountStatus struct, LastUnmount time.Time
pkg rpc, type MountStatus struct, LastUnmountErr error
pkg rpc, type MountStatus struct, Name string
pkg rpc, type MountStatus struct, Server string
pkg rpc, type MountStatus struct, TTL time.Duration
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 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 Server interface { AddName, Closed, RemoveName, Status, Stop }
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 Server interface, Stop() error
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, Endpoints []naming.Endpoint
pkg rpc, type ServerStatus struct, ListenErrors map[struct{ Protocol, Address string }]error
pkg rpc, type ServerStatus struct, Mounts MountState
pkg rpc, type ServerStatus struct, ProxyErrors map[string]error
pkg rpc, type ServerStatus struct, ServesMountTable bool
pkg rpc, type ServerStatus struct, State ServerState
pkg rpc, type ServerStatus struct, Valid <-chan struct{}
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 {}
