Hi Andrew,
The main difference between them is seL4RPC only uses the seL4_Send and seL4_Recv syscalls to communicate between clients and servers, whereas seL4RPCCall uses seL4_Call and seL4_ReplyRecv. seL4RPC is simpler and easier to reason about, but seL4RPCCall likely performs better because it requires fewer system calls, and has the possibility of hitting the IPC fastpath (since it uses seL4_Call/seL4_ReplyRecv).
Another difference is if you're using camkes with realtime support, seL4RPCCall (but not seL4RPC) can be used to connect passive servers to clients.
On the "next" branch of camkes, connections using seL4RPCCall (but not seL4RPC) can be configured to pass arguments through a dataport (must use seL4SharedData) rather than the IPC buffer. This is useful when sending large amounts of data as rpc arguments.
The camkes manual can be found at: https://github.com/seL4/camkes-tool/blob/master/docs/index.md (change the "master" to "next" for the manual for the "next" branch). It doesn't go into great detail about the different types of connectors though.
Cheers,
Stephen
________________________________________
From: Devel