pkg stats, func NewErrNoValue(*context.T, string) error
pkg stats, func StatsClient(string) StatsClientStub
pkg stats, func StatsServer(StatsServerMethods) StatsServerStub
pkg stats, type StatsClientMethods interface { Value, WatchGlob }
pkg stats, type StatsClientMethods interface, Value(*context.T, ...rpc.CallOpt) (*vdl.Value, error)
pkg stats, type StatsClientMethods interface, WatchGlob(*context.T, GlobRequest, ...rpc.CallOpt) (GlobWatcherWatchGlobClientCall, error)
pkg stats, type StatsClientStub interface { Value, WatchGlob }
pkg stats, type StatsClientStub interface, Value(*context.T, ...rpc.CallOpt) (*vdl.Value, error)
pkg stats, type StatsClientStub interface, WatchGlob(*context.T, GlobRequest, ...rpc.CallOpt) (GlobWatcherWatchGlobClientCall, error)
pkg stats, type StatsServerMethods interface { Value, WatchGlob }
pkg stats, type StatsServerMethods interface, Value(*context.T, rpc.ServerCall) (*vdl.Value, error)
pkg stats, type StatsServerMethods interface, WatchGlob(*context.T, GlobWatcherWatchGlobServerCall, GlobRequest) error
pkg stats, type StatsServerStub interface { Describe__, Value, WatchGlob }
pkg stats, type StatsServerStub interface, Describe__() []rpc.InterfaceDesc
pkg stats, type StatsServerStub interface, Value(*context.T, rpc.ServerCall) (*vdl.Value, error)
pkg stats, type StatsServerStub interface, WatchGlob(*context.T, *GlobWatcherWatchGlobServerCallStub, GlobRequest) error
pkg stats, type StatsServerStubMethods interface { Value, WatchGlob }
pkg stats, type StatsServerStubMethods interface, Value(*context.T, rpc.ServerCall) (*vdl.Value, error)
pkg stats, type StatsServerStubMethods interface, WatchGlob(*context.T, *GlobWatcherWatchGlobServerCallStub, GlobRequest) error
pkg stats, var ErrNoValue verror.IDAction
pkg stats, var StatsDesc rpc.InterfaceDesc
