From 6803686bc06c4d96afd9bd2637f7b37a58596699 Mon Sep 17 00:00:00 2001 From: Jon Skeet Date: Wed, 22 Oct 2008 13:30:34 +0100 Subject: First cut at new layout --- src/ProtocolBuffers/MessageStreamWriter.cs | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/ProtocolBuffers/MessageStreamWriter.cs (limited to 'src/ProtocolBuffers/MessageStreamWriter.cs') diff --git a/src/ProtocolBuffers/MessageStreamWriter.cs b/src/ProtocolBuffers/MessageStreamWriter.cs new file mode 100644 index 00000000..9ff33b05 --- /dev/null +++ b/src/ProtocolBuffers/MessageStreamWriter.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; + +namespace Google.ProtocolBuffers { + /// + /// Writes multiple messages to the same stream. Each message is written + /// as if it were an element of a repeated field 1 in a larger protocol buffer. + /// This class takes no ownership of the stream it is given; it never closes the + /// stream. + /// + public sealed class MessageStreamWriter where T : IMessage { + + private readonly CodedOutputStream codedOutput; + + /// + /// Creates an instance which writes to the given stream. + /// + /// Stream to write messages to. + public MessageStreamWriter(Stream output) { + codedOutput = CodedOutputStream.CreateInstance(output); + } + + public void Write(T message) { + codedOutput.WriteMessage(1, message); + } + + public void Flush() { + codedOutput.Flush(); + } + } +} -- cgit v1.2.3