/// <summary> /// Writes the message with the writer. /// </summary> /// <param name="message"></param> /// <param name="cancellationToken"></param> /// <returns></returns> async Task WriteMessage(RnetMessage message, CancellationToken cancellationToken) { Contract.Requires<ArgumentNullException>(message != null); Contract.Requires<InvalidOperationException>(writer != null); using (await write.LockAsync(cancellationToken)) message.Write(writer); }