func doGlob(ctx *context.T, globPrefix string) error { globPattern := globPrefix + "*" found := make(map[string]bool) for { ch, err := v23.GetNamespace(ctx).Glob(ctx, globPattern) if err != nil { return err } for v := range ch { switch entry := v.(type) { case *naming.GlobReplyEntry: if name, servers := entry.Value.Name, entry.Value.Servers; len(name) != 0 && !found[name] && len(servers) != 0 { epStr, _ := naming.SplitAddressName(servers[0].Server) ep, err := naming.ParseEndpoint(epStr) if err != nil { continue } found[name] = true printName(name, globPrefix, ep.BlessingNames()) } } } } }
func (c *callImpl) RemoteEndpoint() naming.Endpoint { epStr := c.callStringMethod("remoteEndpoint") ep, err := naming.ParseEndpoint(epStr) if err != nil { log.Printf("Couldn't parse endpoint string %q: %v", epStr, err) return naming.Endpoint{} } return ep }