public async Task <MsgOp> RequestAsync(string subject, IPayload body, int?timeoutMs = null) { ThrowIfDisposed(); EnsureArg.IsNotNullOrWhiteSpace(subject, nameof(subject)); EnsureArg.IsNotNull(body, nameof(body)); return(await DoRequestAsync(subject, body.GetBytes().ToArray(), timeoutMs).ConfigureAwait(false)); }