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(); } } }