| 123456789101112131415161718192021222324252627 |
- package raft
- // Leave command interface
- type LeaveCommand interface {
- CommandName() string
- Apply(server *Server) (interface{}, error)
- NodeName() string
- }
- // Leave command
- type DefaultLeaveCommand struct {
- Name string `json:"name"`
- }
- // The name of the Leave command in the log
- func (c *DefaultLeaveCommand) CommandName() string {
- return "raft:leave"
- }
- func (c *DefaultLeaveCommand) Apply(server *Server) (interface{}, error) {
- err := server.RemovePeer(c.Name)
- return []byte("leave"), err
- }
- func (c *DefaultLeaveCommand) NodeName() string {
- return c.Name
- }
|