Unit content
Remote procedure calls
A remote procedure call (RPC) makes a request to another process look roughly like calling an operation with arguments and receiving a result.
Under the abstraction, the caller encodes a request, sends it across a transport, the server dispatches the requested operation, and a response travels back.
The similarity to a local call is useful but incomplete. A local call normally either returns or the process fails. An RPC can leave the caller uncertain:
- the request may never reach the server;
- the server may execute it but the response may be lost;
- the caller may stop waiting while the server continues working.
Interfaces therefore need explicit request and response formats, error handling and compatibility rules.
RPC is a communication abstraction, not a guarantee that remote execution has local-call failure semantics.