-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestLock.go
More file actions
78 lines (68 loc) · 2.17 KB
/
Copy pathtestLock.go
File metadata and controls
78 lines (68 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
package main
import (
"./shared"
"github.com/DistributedClocks/GoVector/govec"
"net/rpc"
"os"
)
func main() {
lbsAddr := os.Args[1]
c, err := rpc.Dial("tcp", lbsAddr)
shared.CheckError(err)
Logger := govec.InitGoVector("testLock", "ddbsTestLock")
var buf []byte
var msg string
var reply shared.TableLockingReply
buf = Logger.PrepareSend("Sending ServerConn.TableLock A", "msg")
args := shared.TableLockingArg{
TableName: "A",
GoVector: buf,
}
err = c.Call("ServerConn.TableLock", &args, &reply)
shared.CheckError(err)
Logger.UnpackReceive("Received ServerConn.TableLock A", reply.GoVector, &msg)
buf = Logger.PrepareSend("Sending ServerConn.TableLock A", "msg")
args2 := shared.TableLockingArg{
TableName: "A",
GoVector: buf,
}
err = c.Call("ServerConn.TableLock", &args2, &reply)
shared.CheckError(err)
if err == nil {
Logger.UnpackReceive("Received ServerConn.TableLock A", reply.GoVector, &msg)
} else {
Logger.LogLocalEvent("Not received ServerConn.TableLock A")
}
buf = Logger.PrepareSend("Sending ServerConn.TableLock B", "msg")
args3 := shared.TableLockingArg{
TableName: "B",
GoVector: buf,
}
err = c.Call("ServerConn.TableLock", &args3, &reply)
shared.CheckError(err)
Logger.UnpackReceive("Received ServerConn.TableLock B", reply.GoVector, &msg)
buf = Logger.PrepareSend("Sending ServerConn.TableUnlock A", "msg")
args4 := shared.TableLockingArg{
TableName: "A",
GoVector: buf,
}
err = c.Call("ServerConn.TableUnlock", &args4, &reply)
shared.CheckError(err)
Logger.UnpackReceive("Received ServerConn.TableUnlock A", reply.GoVector, &msg)
buf = Logger.PrepareSend("Sending ServerConn.TableLock A", "msg")
args5 := shared.TableLockingArg{
TableName: "A",
GoVector: buf,
}
err = c.Call("ServerConn.TableLock", &args5, &reply)
shared.CheckError(err)
Logger.UnpackReceive("Received ServerConn.TableLock A", reply.GoVector, &msg)
buf = Logger.PrepareSend("Sending ServerConn.TableUnlock B", "msg")
args6 := shared.TableLockingArg{
TableName: "B",
GoVector: buf,
}
err = c.Call("ServerConn.TableUnlock", &args6, &reply)
shared.CheckError(err)
Logger.UnpackReceive("Received ServerConn.TableUnlock B", reply.GoVector, &msg)
}