diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-11-04 00:54:38 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-11-04 00:54:38 -0700 |
| commit | 77f90ae288924822c883fdfb28efd1b9a7ee90c1 (patch) | |
| tree | 3bef36d511bd34eb1293b7a49397dd3988b0426c /weed/server/master_server_cluster.go | |
| parent | 35c37562bc34393853de1c54ed06740bdffdf919 (diff) | |
| download | seaweedfs-77f90ae288924822c883fdfb28efd1b9a7ee90c1.tar.xz seaweedfs-77f90ae288924822c883fdfb28efd1b9a7ee90c1.zip | |
add leader election in master
Diffstat (limited to 'weed/server/master_server_cluster.go')
| -rw-r--r-- | weed/server/master_server_cluster.go | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/weed/server/master_server_cluster.go b/weed/server/master_server_cluster.go deleted file mode 100644 index fa5280ccd..000000000 --- a/weed/server/master_server_cluster.go +++ /dev/null @@ -1,77 +0,0 @@ -package weed_server - -import ( - "github.com/chrislusf/seaweedfs/weed/pb" - "sync" -) - -type NodeType int - -const ( - filerNodeType NodeType = iota -) - -type ClusterNode struct { - address pb.ServerAddress - version string - counter int -} - -type Cluster struct { - filers map[pb.ServerAddress]*ClusterNode - filersLock sync.RWMutex -} - -func NewCluster() *Cluster { - return &Cluster{ - filers: make(map[pb.ServerAddress]*ClusterNode), - } -} - -func (cluster *Cluster) AddClusterNode(nodeType string, address pb.ServerAddress, version string) { - switch nodeType { - case "filer": - cluster.filersLock.Lock() - defer cluster.filersLock.Unlock() - if existingNode, found := cluster.filers[address]; found { - existingNode.counter++ - return - } - cluster.filers[address] = &ClusterNode{ - address: address, - version: version, - counter: 1, - } - case "master": - } -} - -func (cluster *Cluster) RemoveClusterNode(nodeType string, address pb.ServerAddress) { - switch nodeType { - case "filer": - cluster.filersLock.Lock() - defer cluster.filersLock.Unlock() - if existingNode, found := cluster.filers[address]; !found { - return - } else { - existingNode.counter-- - if existingNode.counter <= 0 { - delete(cluster.filers, address) - } - } - case "master": - } -} - -func (cluster *Cluster) ListClusterNode(nodeType string) (nodes []*ClusterNode) { - switch nodeType { - case "filer": - cluster.filersLock.RLock() - defer cluster.filersLock.RUnlock() - for _, node := range cluster.filers { - nodes = append(nodes, node) - } - case "master": - } - return -} |
