Transaction Semantics - Client View
Client runs one transaction to enqueue a request and a second transaction to dequeue the reply
Txn1: Start
get input
construct request
Enqueue(Request, Q1)
Commit
Txn3: Start
Dequeue(Reply, Q2)
decode reply
process output
Commit
Q1
Q2
Txn2: Start
Dequeue(Req, Q1)
process request Req
Enqueue(Reply, Q2)
Commit
Previous slide
Next slide
Back to first slide
View graphic version