package shardgrp import ( "6.5840/kvsrv1/rpc" "6.5840/shardkv1/shardcfg" "6.5840/tester1" ) type Clerk struct { clnt *tester.Clnt servers []string // You will have to modify this struct. } func MakeClerk(clnt *tester.Clnt, servers []string) *Clerk { ck := &Clerk{clnt: clnt, servers: servers} return ck } func (ck *Clerk) Get(key string) (string, rpc.Tversion, rpc.Err) { // Your code here return "", 0, "" } func (ck *Clerk) Put(key string, value string, version rpc.Tversion) rpc.Err { // Your code here return "" } func (ck *Clerk) FreezeShard(s shardcfg.Tshid, num shardcfg.Tnum) ([]byte, rpc.Err) { // Your code here return nil, "" } func (ck *Clerk) InstallShard(s shardcfg.Tshid, state []byte, num shardcfg.Tnum) rpc.Err { // Your code here return "" } func (ck *Clerk) DeleteShard(s shardcfg.Tshid, num shardcfg.Tnum) rpc.Err { // Your code here return "" }