diff --git a/server/peer_server.go b/server/peer_server.go index 618024176..372604d40 100644 --- a/server/peer_server.go +++ b/server/peer_server.go @@ -237,7 +237,8 @@ func (s *PeerServer) findCluster(discoverURL string, peers []string) { return } -// Start the raft server +// Start starts the raft server. +// The function assumes that join has been accepted successfully. func (s *PeerServer) Start(snapshot bool, discoverURL string, peers []string) error { s.Lock() defer s.Unlock() @@ -285,6 +286,7 @@ func (s *PeerServer) Start(snapshot bool, discoverURL string, peers []string) er return nil } +// Stop stops the server gracefully. func (s *PeerServer) Stop() { s.Lock() defer s.Unlock() @@ -301,6 +303,9 @@ func (s *PeerServer) Stop() { close(s.stopNotify) } +// asyncRemove stops the server in peer mode. +// It is called to stop the server because it has been removed +// from the cluster. func (s *PeerServer) asyncRemove() { s.Lock() if !s.started { @@ -320,10 +325,13 @@ func (s *PeerServer) asyncRemove() { }() } +// StopNotify notifies the server is stopped. func (s *PeerServer) StopNotify() <-chan bool { return s.stopNotify } +// RemoveNotify notifies the server is removed from peer mode due to +// removal from the cluster. func (s *PeerServer) RemoveNotify() <-chan bool { return s.removeNotify }