Versions in this module Expand all Collapse all v0 v0.5.1 May 13, 2015 v0.4.4 Apr 23, 2015 Changes in this version + const DefaultSnapCount + const StoreAdminPrefix + const StoreKeysPrefix + var ErrCanceled = errors.New("etcdserver: request cancelled") + var ErrIDExists = errors.New("etcdserver: ID exists") + var ErrIDNotFound = errors.New("etcdserver: ID not found") + var ErrIDRemoved = errors.New("etcdserver: ID removed") + var ErrPeerURLexists = errors.New("etcdserver: peerURL exists") + var ErrStopped = errors.New("etcdserver: server stopped") + var ErrTimeout = errors.New("etcdserver: request timed out") + var ErrUnknownMethod = errors.New("etcdserver: unknown method") + func MemberAttributesStorePath(id types.ID) string + func ValidateClusterAndAssignIDs(local *Cluster, existing *Cluster) error + type Attributes struct + ClientURLs []string + Name string + type Cluster struct + func GetClusterFromRemotePeers(urls []string, tr *http.Transport) (*Cluster, error) + func NewClusterFromMembers(token string, id types.ID, membs []*Member) *Cluster + func NewClusterFromStore(token string, st store.Store) *Cluster + func NewClusterFromString(token string, cluster string) (*Cluster, error) + func (c *Cluster) AddMember(m *Member) + func (c *Cluster) ClientURLs() []string + func (c *Cluster) ID() types.ID + func (c *Cluster) IsIDRemoved(id types.ID) bool + func (c *Cluster) Member(id types.ID) *Member + func (c *Cluster) MemberByName(name string) *Member + func (c *Cluster) MemberIDs() []types.ID + func (c *Cluster) Members() []*Member + func (c *Cluster) PeerURLs() []string + func (c *Cluster) Recover() + func (c *Cluster) RemoveMember(id types.ID) + func (c *Cluster) SetID(id types.ID) + func (c *Cluster) SetStore(st store.Store) + func (c *Cluster) String() string + func (c *Cluster) UpdateAttributes(id types.ID, attr Attributes) + func (c *Cluster) UpdateIndex(index uint64) + func (c *Cluster) UpdateRaftAttributes(id types.ID, raftAttr RaftAttributes) + func (c *Cluster) Validate() error + func (c *Cluster) ValidateConfigurationChange(cc raftpb.ConfChange) error + type ClusterInfo interface + ClientURLs func() []string + ID func() types.ID + IsIDRemoved func(id types.ID) bool + Member func(id types.ID) *Member + Members func() []*Member + type EtcdServer struct + Cluster *Cluster + SyncTicker <-chan time.Time + func NewServer(cfg *ServerConfig) (*EtcdServer, error) + func (s *EtcdServer) AddMember(ctx context.Context, memb Member) error + func (s *EtcdServer) Do(ctx context.Context, r pb.Request) (Response, error) + func (s *EtcdServer) ID() types.ID + func (s *EtcdServer) Index() uint64 + func (s *EtcdServer) Lead() uint64 + func (s *EtcdServer) Leader() types.ID + func (s *EtcdServer) LeaderStats() []byte + func (s *EtcdServer) PauseSending() + func (s *EtcdServer) Process(ctx context.Context, m raftpb.Message) error + func (s *EtcdServer) RaftHandler() http.Handler + func (s *EtcdServer) RemoveMember(ctx context.Context, id uint64) error + func (s *EtcdServer) ResumeSending() + func (s *EtcdServer) SelfStats() []byte + func (s *EtcdServer) Start() + func (s *EtcdServer) Stop() + func (s *EtcdServer) StopNotify() <-chan struct{} + func (s *EtcdServer) StoreStats() []byte + func (s *EtcdServer) Term() uint64 + func (s *EtcdServer) UpdateMember(ctx context.Context, memb Member) error + type Member struct + ID types.ID + func NewMember(name string, peerURLs types.URLs, clusterName string, now *time.Time) *Member + func (m *Member) Clone() *Member + func (m *Member) PickPeerURL() string + type RaftAttributes struct + PeerURLs []string + type RaftTimer interface + Index func() uint64 + Term func() uint64 + type Response struct + Event *store.Event + Watcher store.Watcher + type Server interface + AddMember func(ctx context.Context, memb Member) error + Do func(ctx context.Context, r pb.Request) (Response, error) + ID func() types.ID + Leader func() types.ID + Process func(ctx context.Context, m raftpb.Message) error + RemoveMember func(ctx context.Context, id uint64) error + Start func() + Stop func() + UpdateMember func(ctx context.Context, updateMemb Member) error + type ServerConfig struct + ClientURLs types.URLs + Cluster *Cluster + DataDir string + DiscoveryProxy string + DiscoveryURL string + ElectionTicks int + ForceNewCluster bool + MaxSnapFiles uint + MaxWALFiles uint + Name string + NewCluster bool + PeerURLs types.URLs + SnapCount uint64 + TickMs uint + Transport *http.Transport + func (c *ServerConfig) MemberDir() string + func (c *ServerConfig) Print() + func (c *ServerConfig) PrintWithInitial() + func (c *ServerConfig) ShouldDiscover() bool + func (c *ServerConfig) SnapDir() string + func (c *ServerConfig) VerifyBootstrap() error + func (c *ServerConfig) VerifyJoinExisting() error + func (c *ServerConfig) WALDir() string + type SortableMemberSlice []*Member + func (s SortableMemberSlice) Len() int + func (s SortableMemberSlice) Less(i, j int) bool + func (s SortableMemberSlice) Swap(i, j int) + type SortableMemberSliceByPeerURLs []*Member + func (p SortableMemberSliceByPeerURLs) Len() int + func (p SortableMemberSliceByPeerURLs) Less(i, j int) bool + func (p SortableMemberSliceByPeerURLs) Swap(i, j int) + type Storage interface + Close func() error + Cut func() error + Save func(st raftpb.HardState, ents []raftpb.Entry) error + SaveSnap func(snap raftpb.Snapshot) error + func NewStorage(w *wal.WAL, s *snap.Snapshotter) Storage