pkg naming, const Leaf MountFlag
pkg naming, const MT MountFlag
pkg naming, const Replace MountFlag
pkg naming, const ReservedNamePrefix ideal-string
pkg naming, const UnknownProtocol ideal-string
pkg naming, func Clean(string) string
pkg naming, func Compare(RoutingID, RoutingID) bool
pkg naming, func DecodeFromNameElement(string) (string, bool)
pkg naming, func EncodeAsNameElement(string) string
pkg naming, func Escape(string, string) string
pkg naming, func FixedRoutingID(uint64) RoutingID
pkg naming, func FormatEndpoint(string, string, ...EndpointOpt) string
pkg naming, func IsReserved(string) bool
pkg naming, func Join(...string) string
pkg naming, func JoinAddressName(string, string) string
pkg naming, func NewRoutingID() (RoutingID, error)
pkg naming, func ParseEndpoint(string) (Endpoint, error)
pkg naming, func ReadRoutingID(io.Reader) (RoutingID, error)
pkg naming, func Rooted(string) bool
pkg naming, func SplitAddressName(string) (string, string)
pkg naming, func StripReserved(string) string
pkg naming, func TrimSuffix(string, string) string
pkg naming, func Unescape(string) (string, bool)
pkg naming, func VDLReadGlobChildrenReply(vdl.Decoder, *GlobChildrenReply) error
pkg naming, func VDLReadGlobReply(vdl.Decoder, *GlobReply) error
pkg naming, method (*GlobChildrenReplyTarget) FinishField(vdl.Target, vdl.Target) error
pkg naming, method (*GlobChildrenReplyTarget) FinishFields(vdl.FieldsTarget) error
pkg naming, method (*GlobChildrenReplyTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg naming, method (*GlobChildrenReplyTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg naming, method (*GlobError) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (*GlobError) MakeVDLTarget() vdl.Target
pkg naming, method (*GlobError) VDLRead(vdl.Decoder) error
pkg naming, method (*GlobErrorTarget) FinishField(vdl.Target, vdl.Target) error
pkg naming, method (*GlobErrorTarget) FinishFields(vdl.FieldsTarget) error
pkg naming, method (*GlobErrorTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg naming, method (*GlobErrorTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg naming, method (*GlobErrorTarget) ZeroField(string) error
pkg naming, method (*GlobReplyTarget) FinishField(vdl.Target, vdl.Target) error
pkg naming, method (*GlobReplyTarget) FinishFields(vdl.FieldsTarget) error
pkg naming, method (*GlobReplyTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg naming, method (*GlobReplyTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg naming, method (*MountEntry) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (*MountEntry) MakeVDLTarget() vdl.Target
pkg naming, method (*MountEntry) Names() []string
pkg naming, method (*MountEntry) VDLRead(vdl.Decoder) error
pkg naming, method (*MountEntryTarget) FinishField(vdl.Target, vdl.Target) error
pkg naming, method (*MountEntryTarget) FinishFields(vdl.FieldsTarget) error
pkg naming, method (*MountEntryTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg naming, method (*MountEntryTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg naming, method (*MountEntryTarget) ZeroField(string) error
pkg naming, method (*MountFlag) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (*MountFlag) MakeVDLTarget() vdl.Target
pkg naming, method (*MountFlag) VDLRead(vdl.Decoder) error
pkg naming, method (*MountFlagTarget) FromFloat(float64, *vdl.Type) error
pkg naming, method (*MountFlagTarget) FromInt(int64, *vdl.Type) error
pkg naming, method (*MountFlagTarget) FromUint(uint64, *vdl.Type) error
pkg naming, method (*MountedServer) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (*MountedServer) MakeVDLTarget() vdl.Target
pkg naming, method (*MountedServer) VDLRead(vdl.Decoder) error
pkg naming, method (*MountedServerTarget) FinishField(vdl.Target, vdl.Target) error
pkg naming, method (*MountedServerTarget) FinishFields(vdl.FieldsTarget) error
pkg naming, method (*MountedServerTarget) StartField(string) (vdl.Target, vdl.Target, error)
pkg naming, method (*MountedServerTarget) StartFields(*vdl.Type) (vdl.FieldsTarget, error)
pkg naming, method (*MountedServerTarget) ZeroField(string) error
pkg naming, method (*RoutingID) FromString(string) error
pkg naming, method (BlessingOpt) EndpointOpt()
pkg naming, method (DisableCache) CacheCtl()
pkg naming, method (Endpoint) Addr() net.Addr
pkg naming, method (Endpoint) BlessingNames() []string
pkg naming, method (Endpoint) IsZero() bool
pkg naming, method (Endpoint) Name() string
pkg naming, method (Endpoint) Routes() []string
pkg naming, method (Endpoint) String() string
pkg naming, method (Endpoint) VersionedString(int) string
pkg naming, method (Endpoint) WithBlessingNames([]string) Endpoint
pkg naming, method (Endpoint) WithRoutes([]string) Endpoint
pkg naming, method (GlobChildrenReplyError) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (GlobChildrenReplyError) Index() int
pkg naming, method (GlobChildrenReplyError) Interface() interface{}
pkg naming, method (GlobChildrenReplyError) MakeVDLTarget() vdl.Target
pkg naming, method (GlobChildrenReplyError) Name() string
pkg naming, method (GlobChildrenReplyError) VDLIsZero() bool
pkg naming, method (GlobChildrenReplyError) VDLWrite(vdl.Encoder) error
pkg naming, method (GlobChildrenReplyName) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (GlobChildrenReplyName) Index() int
pkg naming, method (GlobChildrenReplyName) Interface() interface{}
pkg naming, method (GlobChildrenReplyName) MakeVDLTarget() vdl.Target
pkg naming, method (GlobChildrenReplyName) Name() string
pkg naming, method (GlobChildrenReplyName) VDLIsZero() bool
pkg naming, method (GlobChildrenReplyName) VDLWrite(vdl.Encoder) error
pkg naming, method (GlobError) VDLIsZero() bool
pkg naming, method (GlobError) VDLWrite(vdl.Encoder) error
pkg naming, method (GlobReplyEntry) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (GlobReplyEntry) Index() int
pkg naming, method (GlobReplyEntry) Interface() interface{}
pkg naming, method (GlobReplyEntry) MakeVDLTarget() vdl.Target
pkg naming, method (GlobReplyEntry) Name() string
pkg naming, method (GlobReplyEntry) VDLIsZero() bool
pkg naming, method (GlobReplyEntry) VDLWrite(vdl.Encoder) error
pkg naming, method (GlobReplyError) FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, method (GlobReplyError) Index() int
pkg naming, method (GlobReplyError) Interface() interface{}
pkg naming, method (GlobReplyError) MakeVDLTarget() vdl.Target
pkg naming, method (GlobReplyError) Name() string
pkg naming, method (GlobReplyError) VDLIsZero() bool
pkg naming, method (GlobReplyError) VDLWrite(vdl.Encoder) error
pkg naming, method (IsLeaf) NSOpt()
pkg naming, method (MountEntry) VDLIsZero() bool
pkg naming, method (MountEntry) VDLWrite(vdl.Encoder) error
pkg naming, method (MountFlag) VDLIsZero() bool
pkg naming, method (MountFlag) VDLWrite(vdl.Encoder) error
pkg naming, method (MountedServer) VDLIsZero() bool
pkg naming, method (MountedServer) VDLWrite(vdl.Encoder) error
pkg naming, method (ReplaceMount) NSOpt()
pkg naming, method (RouteOpt) EndpointOpt()
pkg naming, method (RoutingID) EndpointOpt()
pkg naming, method (RoutingID) IsReserved() bool
pkg naming, method (RoutingID) String() string
pkg naming, method (RoutingID) Write(io.Writer) error
pkg naming, method (ServesMountTable) EndpointOpt()
pkg naming, method (ServesMountTable) NSOpt()
pkg naming, type BlessingOpt string
pkg naming, type CacheCtl interface { CacheCtl }
pkg naming, type CacheCtl interface, CacheCtl()
pkg naming, type DisableCache bool
pkg naming, type Endpoint struct
pkg naming, type Endpoint struct, Address string
pkg naming, type Endpoint struct, Protocol string
pkg naming, type Endpoint struct, RoutingID RoutingID
pkg naming, type Endpoint struct, ServesMountTable bool
pkg naming, type EndpointOpt interface { EndpointOpt }
pkg naming, type EndpointOpt interface, EndpointOpt()
pkg naming, type GlobChildrenReply interface, FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, type GlobChildrenReply interface, Index() int
pkg naming, type GlobChildrenReply interface, Interface() interface{}
pkg naming, type GlobChildrenReply interface, Name() string
pkg naming, type GlobChildrenReply interface, VDLIsZero() bool
pkg naming, type GlobChildrenReply interface, VDLWrite(vdl.Encoder) error
pkg naming, type GlobChildrenReply interface, unexported methods
pkg naming, type GlobChildrenReplyError struct
pkg naming, type GlobChildrenReplyError struct, Value GlobError
pkg naming, type GlobChildrenReplyName struct
pkg naming, type GlobChildrenReplyName struct, Value string
pkg naming, type GlobChildrenReplyTarget struct
pkg naming, type GlobChildrenReplyTarget struct, Value *GlobChildrenReply
pkg naming, type GlobChildrenReplyTarget struct, embedded vdl.FieldsTargetBase
pkg naming, type GlobChildrenReplyTarget struct, embedded vdl.TargetBase
pkg naming, type GlobError struct
pkg naming, type GlobError struct, Error error
pkg naming, type GlobError struct, Name string
pkg naming, type GlobErrorTarget struct
pkg naming, type GlobErrorTarget struct, Value *GlobError
pkg naming, type GlobErrorTarget struct, embedded vdl.FieldsTargetBase
pkg naming, type GlobErrorTarget struct, embedded vdl.TargetBase
pkg naming, type GlobReply interface, FillVDLTarget(vdl.Target, *vdl.Type) error
pkg naming, type GlobReply interface, Index() int
pkg naming, type GlobReply interface, Interface() interface{}
pkg naming, type GlobReply interface, Name() string
pkg naming, type GlobReply interface, VDLIsZero() bool
pkg naming, type GlobReply interface, VDLWrite(vdl.Encoder) error
pkg naming, type GlobReply interface, unexported methods
pkg naming, type GlobReplyEntry struct
pkg naming, type GlobReplyEntry struct, Value MountEntry
pkg naming, type GlobReplyError struct
pkg naming, type GlobReplyError struct, Value GlobError
pkg naming, type GlobReplyTarget struct
pkg naming, type GlobReplyTarget struct, Value *GlobReply
pkg naming, type GlobReplyTarget struct, embedded vdl.FieldsTargetBase
pkg naming, type GlobReplyTarget struct, embedded vdl.TargetBase
pkg naming, type IsLeaf bool
pkg naming, type MountEntry struct
pkg naming, type MountEntry struct, IsLeaf bool
pkg naming, type MountEntry struct, Name string
pkg naming, type MountEntry struct, Servers []MountedServer
pkg naming, type MountEntry struct, ServesMountTable bool
pkg naming, type MountEntryTarget struct
pkg naming, type MountEntryTarget struct, Value *MountEntry
pkg naming, type MountEntryTarget struct, embedded vdl.FieldsTargetBase
pkg naming, type MountEntryTarget struct, embedded vdl.TargetBase
pkg naming, type MountFlag uint32
pkg naming, type MountFlagTarget struct
pkg naming, type MountFlagTarget struct, Value *MountFlag
pkg naming, type MountFlagTarget struct, embedded vdl.TargetBase
pkg naming, type MountedServer struct
pkg naming, type MountedServer struct, Deadline vdltime.Deadline
pkg naming, type MountedServer struct, Server string
pkg naming, type MountedServerTarget struct
pkg naming, type MountedServerTarget struct, Value *MountedServer
pkg naming, type MountedServerTarget struct, embedded vdl.FieldsTargetBase
pkg naming, type MountedServerTarget struct, embedded vdl.TargetBase
pkg naming, type NamespaceOpt interface { NSOpt }
pkg naming, type NamespaceOpt interface, NSOpt()
pkg naming, type ReplaceMount bool
pkg naming, type RouteOpt string
pkg naming, type RoutingID struct
pkg naming, type ServesMountTable bool
pkg naming, var DefaultEndpointVersion int
pkg naming, var ErrNameExists unknown-type
pkg naming, var ErrNoMountTable unknown-type
pkg naming, var ErrNoSuchName unknown-type
pkg naming, var ErrNoSuchNameRoot unknown-type
pkg naming, var ErrResolutionDepthExceeded unknown-type
pkg naming, var NullRoutingID RoutingID
