libevent and protobuf based rpc