func newServer() (*server, error) { // Determine hostname in case it hasn't been specified in -rpc_addr or -http_addr. host, err := os.Hostname() if err != nil { host = "127.0.0.1" } // Resolve if strings.HasPrefix(*rpcAddr, ":") { *rpcAddr = host + *rpcAddr } addr, err := net.ResolveTCPAddr("tcp", *rpcAddr) if err != nil { return nil, util.Errorf("unable to resolve RPC address %q: %v", *rpcAddr, err) } s := &server{ host: host, mux: http.NewServeMux(), rpc: rpc.NewServer(addr), } s.gossip = gossip.New() s.kvDB = kv.NewDB(s.gossip) s.kvREST = kv.NewRESTServer(s.kvDB) s.node = NewNode(s.kvDB, s.gossip) s.admin = newAdminServer(s.kvDB) s.structuredDB = structured.NewDB(s.kvDB) s.structuredREST = structured.NewRESTServer(s.structuredDB) return s, nil }
func newServer() (*server, error) { addr, err := net.ResolveTCPAddr("tcp", *rpcAddr) if err != nil { return nil, err } s := &server{ mux: http.NewServeMux(), rpc: rpc.NewServer(addr), } s.gossip = gossip.New(s.rpc) s.kvDB = kv.NewDB(s.gossip) s.kvREST = kv.NewRESTServer(s.kvDB) s.node = NewNode(s.rpc, s.kvDB, s.gossip) s.admin = newAdminServer(s.kvDB) s.structuredDB = structured.NewDB(s.kvDB) s.structuredREST = structured.NewRESTServer(s.structuredDB) return s, nil }