var ErrInvalidURL …
var ErrBadSizeKey …
var ErrSizeNotFound …
var ErrTokenNotFound …
var ErrDuplicateID …
var ErrDuplicateName …
var ErrFullCluster …
var ErrTooManyRetries …
var ErrBadDiscoveryEndpoint …
var nRetries …
var maxExpoentialRetries …
func JoinCluster(lg *zap.Logger, durl, dproxyurl string, id types.ID, config string) (string, error) { … }
func GetCluster(lg *zap.Logger, durl, dproxyurl string) (string, error) { … }
type discovery …
func newProxyFunc(lg *zap.Logger, proxy string) (func(*http.Request) (*url.URL, error), error) { … }
func newDiscovery(lg *zap.Logger, durl, dproxyurl string, id types.ID) (*discovery, error) { … }
func (d *discovery) joinCluster(config string) (string, error) { … }
func (d *discovery) getCluster() (string, error) { … }
func (d *discovery) createSelf(contents string) error { … }
func (d *discovery) checkCluster() ([]*client.Node, uint64, uint64, error) { … }
func (d *discovery) logAndBackoffForRetry(step string) { … }
func (d *discovery) checkClusterRetry() ([]*client.Node, uint64, uint64, error) { … }
func (d *discovery) waitNodesRetry() ([]*client.Node, error) { … }
func (d *discovery) waitNodes(nodes []*client.Node, size uint64, index uint64) ([]*client.Node, error) { … }
func (d *discovery) selfKey() string { … }
func nodesToCluster(ns []*client.Node, size uint64) (string, error) { … }
type sortableNodes …
func (ns sortableNodes) Len() int { … }
func (ns sortableNodes) Less(i, j int) bool { … }
func (ns sortableNodes) Swap(i, j int) { … }