39 lines
834 B
Go
39 lines
834 B
Go
package shardgrp
|
|
|
|
import (
|
|
|
|
|
|
"6.5840/kvsrv1/rpc"
|
|
"6.5840/shardkv1/shardcfg"
|
|
"6.5840/tester1"
|
|
)
|
|
|
|
type Clerk struct {
|
|
clnt *tester.Clnt
|
|
servers []string
|
|
leader int // last successful leader (index into servers[])
|
|
}
|
|
|
|
func MakeClerk(clnt *tester.Clnt, servers []string) *Clerk {
|
|
ck := &Clerk{clnt: clnt, servers: servers}
|
|
return ck
|
|
}
|
|
|
|
func (ck *Clerk) Get(cid shardcfg.Tnum, key string, n shardcfg.Tnum) (string, rpc.Tversion, rpc.Err) {
|
|
// Your code here
|
|
return "", 0, ""
|
|
}
|
|
|
|
func (ck *Clerk) Put(key string, value string, version rpc.Tversion, n shardcfg.Tnum) (bool, rpc.Err) {
|
|
// Your code here
|
|
return false, ""
|
|
}
|
|
|
|
func (ck *Clerk) Freeze(s shardcfg.Tshid, num shardcfg.Tnum) ([]byte, rpc.Err) {
|
|
return nil, ""
|
|
}
|
|
|
|
func (ck *Clerk) InstallShard(s shardcfg.Tshid, state []byte, num shardcfg.Tnum) rpc.Err {
|
|
return ""
|
|
}
|