Send a REQUEST envelope, await the RESPONSE/ERROR on its id. ``req`` must already carry ``kind=KIND_REQUEST`` and the right oneof arm; ``id`` is assigned here. Returns the response Envelope (caller reads the typed arm); raises a typed :class:`CmdopError` on an ERROR frame.
(self, req: pb.Envelope)