Package client implements a juggler client. Once a Client is returned via a call to Dial or New, it can be used to make calls to an RPC function identified by a URI, to subscribe to and unsubscribe from pub-sub channels, and to publish events to a pub-sub channel.
Received replies and pub-sub events are handled by a Handler. Each received message is sent to the Handler in a separate goroutine. RPC calls that did not return a result before the call timeout expired generate a custom ExpMsg message type, so an RPC call that succeeded (that is, for which the server returned an ACK message, not a NACK) either generates a RES or an EXP, but never both or none.