main.go 636 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "math/rand"
  6. "net/http"
  7. "os"
  8. "time"
  9. "github.com/coreos/etcd/config"
  10. "github.com/coreos/etcd/etcd"
  11. )
  12. func main() {
  13. var config = config.New()
  14. if err := config.Load(os.Args[1:]); err != nil {
  15. fmt.Println(err.Error(), "\n")
  16. os.Exit(1)
  17. } else if config.ShowVersion {
  18. fmt.Println("0.5")
  19. os.Exit(0)
  20. } else if config.ShowHelp {
  21. os.Exit(0)
  22. }
  23. e := etcd.New(config, genId())
  24. go e.Run()
  25. if err := http.ListenAndServe(config.BindAddr, e); err != nil {
  26. log.Fatal("system", err)
  27. }
  28. }
  29. func genId() int {
  30. r := rand.New(rand.NewSource(int64(time.Now().Nanosecond())))
  31. return r.Int()
  32. }