merging gavin's RPC peer disconnect feature