// TODO -- should we be using some kind of memory pooling here? private void writeSingle(BinaryWriter writer) { writer.Write(EnvelopeVersionId.SourceInstanceId.ToByteArray()); writer.Write(EnvelopeVersionId.MessageIdentifier.ToByteArray()); writer.Write(Destination?.QueueName() ?? ""); writer.Write(SubQueue ?? ""); writer.Write(SentAt.ToBinary()); writer.Flush(); using (var headerData = new MemoryStream()) { using (var headerWriter = new BinaryWriter(headerData)) { var count = writeHeaders(headerWriter); headerWriter.Flush(); writer.Write(count); headerData.Position = 0; headerData.CopyTo(writer.BaseStream); } } writer.Write(Data.Length); writer.Write(Data); }
private void writeSingle(BinaryWriter writer) { writer.Write(SentAt.ToBinary()); writer.Flush(); using (var headerData = new MemoryStream()) { using (var headerWriter = new BinaryWriter(headerData)) { var count = writeHeaders(headerWriter); headerWriter.Flush(); writer.Write(count); headerData.Position = 0; headerData.CopyTo(writer.BaseStream); } } writer.Write(Data.Length); writer.Write(Data); }