mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
server of one is alive!
This commit is contained in:
parent
cb7b321240
commit
8f3544ece8
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
||||
/bin
|
||||
.vagrant
|
||||
*.etcd
|
||||
etcd
|
||||
|
@ -19,6 +19,7 @@ import (
|
||||
"math/rand"
|
||||
"code.google.com/p/go.net/context"
|
||||
"github.com/coreos/etcd/elog"
|
||||
etcderrors "github.com/coreos/etcd/error"
|
||||
etcdserver "github.com/coreos/etcd/etcdserver2"
|
||||
"github.com/coreos/etcd/etcdserver2/etcdserverpb"
|
||||
"github.com/coreos/etcd/raft/raftpb"
|
||||
@ -40,7 +41,7 @@ func (ps Peers) Set(s string) error {
|
||||
return err
|
||||
}
|
||||
for k, v := range v {
|
||||
id, err := strconv.ParseInt(k, 16, 64)
|
||||
id, err := strconv.ParseInt(k, 0, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -151,7 +152,14 @@ func (h Handler) serveKeys(ctx context.Context, w http.ResponseWriter, r *http.R
|
||||
}
|
||||
|
||||
resp, err := h.Server.Do(ctx, rr)
|
||||
if err != nil {
|
||||
switch e := err.(type) {
|
||||
case nil:
|
||||
case *etcderrors.Error:
|
||||
// TODO: gross. this should be handled in encodeResponse
|
||||
log.Println(err)
|
||||
e.Write(w)
|
||||
return
|
||||
default:
|
||||
log.Println(err)
|
||||
http.Error(w, "Internal Server Error", 500)
|
||||
return
|
||||
|
14
main.go
14
main.go
@ -11,10 +11,11 @@ import (
|
||||
"github.com/coreos/etcd/etcdserver2/etcdhttp"
|
||||
"github.com/coreos/etcd/raft"
|
||||
"github.com/coreos/etcd/raft/raftpb"
|
||||
"github.com/coreos/etcd/store"
|
||||
)
|
||||
|
||||
var (
|
||||
fid = flag.String("id", "default", "Id of this server")
|
||||
fid = flag.String("id", "0xBEEF", "Id of this server")
|
||||
timeout = flag.Duration("timeout", 10*time.Second, "Request Timeout")
|
||||
laddr = flag.String("l", ":8080", "HTTP service address (e.g., ':8080')")
|
||||
|
||||
@ -26,16 +27,19 @@ func init() {
|
||||
}
|
||||
|
||||
func main() {
|
||||
id, err := strconv.ParseInt(*fid, 16, 64)
|
||||
flag.Parse()
|
||||
|
||||
id, err := strconv.ParseInt(*fid, 0, 64)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
n := raft.Start(id, peers.Ids())
|
||||
s := &etcdserver.Server{
|
||||
Node: n,
|
||||
Save: func(st raftpb.State, ents []raftpb.Entry) {}, // TODO: use wal
|
||||
Send: etcdhttp.Sender(peers),
|
||||
Store: store.New(),
|
||||
Node: n,
|
||||
Save: func(st raftpb.State, ents []raftpb.Entry) {}, // TODO: use wal
|
||||
Send: etcdhttp.Sender(peers),
|
||||
}
|
||||
etcdserver.Start(s)
|
||||
h := &etcdhttp.Handler{
|
||||
|
Loading…
x
Reference in New Issue
Block a user