diff --git a/src/kvraft/client.go b/src/kvraft/client.go index 4762894..60d329f 100644 --- a/src/kvraft/client.go +++ b/src/kvraft/client.go @@ -43,7 +43,7 @@ func (ck *Clerk) Get(key string) string { // shared by Put and Append. // // you can send an RPC with code like this: -// ok := ck.servers[i].Call("KVServer.PutAppend", &args, &reply) +// ok := ck.servers[i].Call("KVServer."+op, &args, &reply) // // the types of args and reply (including whether they are pointers) // must match the declared types of the RPC handler function's diff --git a/src/kvraft/common.go b/src/kvraft/common.go index e5ee442..bca7ed1 100644 --- a/src/kvraft/common.go +++ b/src/kvraft/common.go @@ -12,7 +12,6 @@ type Err string type PutAppendArgs struct { Key string Value string - Op string // "Put" or "Append" // You'll have to add definitions here. // Field names must start with capital letters, // otherwise RPC will break. diff --git a/src/kvraft/server.go b/src/kvraft/server.go index 551b8ae..3baa05f 100644 --- a/src/kvraft/server.go +++ b/src/kvraft/server.go @@ -43,7 +43,11 @@ func (kv *KVServer) Get(args *GetArgs, reply *GetReply) { // unlike in lab 2, neither Put nor Append should return a value. // this is already reflected in the PutAppendReply struct. -func (kv *KVServer) PutAppend(args *PutAppendArgs, reply *PutAppendReply) { +func (kv *KVServer) Put(args *PutAppendArgs, reply *PutAppendReply) { + // Your code here. +} + +func (kv *KVServer) Append(args *PutAppendArgs, reply *PutAppendReply) { // Your code here. } @@ -82,7 +86,7 @@ func StartKVServer(servers []*labrpc.ClientEnd, me int, persister *raft.Persiste // call labgob.Register on structures you want // Go's RPC library to marshall/unmarshall. labgob.Register(Op{}) - + kv := new(KVServer) kv.me = me kv.maxraftstate = maxraftstate