Use futures for RPC calls
Rather than simply blocking rpc calls, use std::future
and non-blocking calls. To do this properly, all network sending should be non-blocking which requires a larger change to non-blocking sockets.
Edited by Nicolas Pope