x
This commit is contained in:
parent
0e7c1e1b0b
commit
ba3572af08
@ -1,49 +0,0 @@
|
|||||||
package shardctrler
|
|
||||||
|
|
||||||
import (
|
|
||||||
// "log"
|
|
||||||
"sync/atomic"
|
|
||||||
|
|
||||||
"6.5840/kvsrv1/rpc"
|
|
||||||
"6.5840/tester1"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Clerk struct {
|
|
||||||
clnt *tester.Clnt
|
|
||||||
servers []string
|
|
||||||
deposed *int32
|
|
||||||
// You will have to modify this struct.
|
|
||||||
}
|
|
||||||
|
|
||||||
// The shard controller can use MakeClerk to make a clerk for the kvraft
|
|
||||||
// group with the servers `servers`.
|
|
||||||
func MakeClerk(clnt *tester.Clnt, servers []string, deposed *int32) *Clerk {
|
|
||||||
ck := &Clerk{clnt: clnt, servers: servers, deposed: deposed}
|
|
||||||
// You may add code here.
|
|
||||||
return ck
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ck *Clerk) isDeposed() bool {
|
|
||||||
z := atomic.LoadInt32(ck.deposed)
|
|
||||||
return z == 1
|
|
||||||
}
|
|
||||||
|
|
||||||
// You can reuse your kvraft Get
|
|
||||||
func (ck *Clerk) Get(key string) (string, rpc.Tversion, rpc.Err) {
|
|
||||||
args := rpc.GetArgs{}
|
|
||||||
args.Key = key
|
|
||||||
|
|
||||||
// You'll have to add code here.
|
|
||||||
return "", 0, ""
|
|
||||||
}
|
|
||||||
|
|
||||||
// You can reuse your kvraft Put
|
|
||||||
func (ck *Clerk) Put(key string, value string, version rpc.Tversion) rpc.Err {
|
|
||||||
args := rpc.PutArgs{}
|
|
||||||
args.Key = key
|
|
||||||
args.Value = value
|
|
||||||
args.Version = version
|
|
||||||
|
|
||||||
// You'll have to add code here.
|
|
||||||
return ""
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user