1/15
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
step 1
identify machine hosting the call
step 2
collect parameters
step 3
marshal into wire format
step 4
form into a message (then pass through middleware)
step 5
receive message
step 6
unmarshal parameters
step 7
make local call
step 8
marshal return value and send back to middleware
step 9
unmarshal result and return to caller
rpc goal 1
reuse familiar ideas
rpc goal 2
encourage the use of distribution
rpc goal 3
abstract all the difficult bits, allow specialised programmers to code all the low-level services
rpc goal 4
allow application programmers to focus on what they’re good at (app logic)
rpc difficulty 1
the call can fail while the caller remains running
rpc difficulty 2
can’t reliably detect failure - has something died or is the network just slow?
rpc difficulty 3
can’t pass by reference, so not all host language types are available