node-1.go 711 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package main
  2. import (
  3. "log"
  4. "math/big"
  5. "os"
  6. "os/signal"
  7. "time"
  8. "trial/achord/models"
  9. chord "trial/achord"
  10. )
  11. func createNode(id string, addr string, sister *models.Node) (*chord.Node, error) {
  12. cnf := chord.DefaultConfig()
  13. cnf.Id = id
  14. cnf.Addr = addr
  15. cnf.Timeout = 10 * time.Millisecond
  16. cnf.MaxIdle = 100 * time.Millisecond
  17. n, err := chord.NewNode(cnf, sister)
  18. return n, err
  19. }
  20. func createID(id string) []byte {
  21. val := big.NewInt(0)
  22. val.SetString(id, 10)
  23. return val.Bytes()
  24. }
  25. func main() {
  26. h, err := createNode("1", "0.0.0.0:8001", nil)
  27. if err != nil {
  28. log.Fatalln(err)
  29. }
  30. c := make(chan os.Signal, 1)
  31. signal.Notify(c, os.Interrupt)
  32. <-time.After(10 * time.Second)
  33. <-c
  34. h.Stop()
  35. }