machines.go 611 B

1234567891011121314151617181920212223242526272829303132333435
  1. package main
  2. import (
  3. "fmt"
  4. )
  5. type machine struct {
  6. hostname string
  7. raftPort int
  8. clientPort int
  9. }
  10. var machinesMap = map[string]machine{}
  11. func addMachine(name string, hostname string, raftPort int, clientPort int) {
  12. machinesMap[name] = machine{hostname, raftPort, clientPort}
  13. }
  14. func getClientAddr(name string) (string, bool) {
  15. machine, ok := machinesMap[name]
  16. if !ok {
  17. return "", false
  18. }
  19. addr := fmt.Sprintf("%s:%v", machine.hostname, machine.clientPort)
  20. return addr, true
  21. }
  22. // machineNum returns the number of machines in the cluster
  23. func machineNum() int {
  24. return len(machinesMap)
  25. }