pub fn channel<P, S, R, E>() -> (Server<P, S, R, E>, Client<P, S, R, E>)Expand description
Create a pair of linked Server and Client objects.
The Server object is used to wait for incoming messages from connected
clients. Once a message arrives it must reply to it using a
ReplyContext that’s returned to it in the same call that returned the
message.
The Client object can be used to send messages to the Server. The
Client::req() call will not return until the server has replied.
Clients can be cloned; each clone will create a new client object that is connected to the same server object, but is completely independent of the original client.
The S type parameter is the “send” data type that clients will transfer
to the server. The R type parameter is the “receive” data type that
clients will receive from the server. The E type parameter can be used
to return application specific errors from the server to the client.