What: A simple introduction to understanding how a "read" works in RAMCloud based on my current understanding.
Why: For me to refer to later on, and hopefully to serve as a good starting points to other new comers to RAMCloud system.
How: Information deduced from reading code, and asking lot of silly questions to Diego, Ryan; and a few to Steven, Nandu and Christian.
Now that we have that out of the way..
TODO: Chritian's diagram here (fig 3 from his report). Edit to make corrections.
RamCloud.cc -> read()
MasterClient.cc -> read()
MasterServer.cc
NOTE:
When xClient - sendRecv,
xServer - handleRpc<>() -> dispatch() -> callHandler<>() -> ..
NOTE about code flow:
When xClient - sendRecv, ?where x is Coordinator or Master
xServer - handleRpc<>() -> dispatch() -> callHandler<>() -> ..
Some general information:
On the other hand:
BUFFER contains: