/// <summary> /// Create a new message tied to a Stream for streaming data. /// </summary> /// <param name="mime">Content Mime-Type.</param> /// <param name="message">The message to be created.</param> /// <param name="writer">The stream that will supply the streaming data.</param> public static void ForStreaming(MimeType mime, out DreamMessage message, out Stream writer) { Stream reader; StreamUtil.CreatePipe(out writer, out reader); message = Ok(mime, -1, reader); }
public void PipeTest1() { Stream writer; Stream reader; StreamUtil.CreatePipe(out writer, out reader); byte[] write = new byte[] { 1, 2, 3, 4 }; writer.Write(write, 0, write.Length); writer.Close(); byte[] read = new byte[write.Length]; int count = reader.Read(read, 0, read.Length); reader.Close(); Assert.AreEqual(write.Length, count); Assert.AreEqual(write, read); }
public void PipeTest3() { Stream writer; Stream reader; StreamUtil.CreatePipe(1, out writer, out reader); byte[] write = new byte[] { 1, 2, 3, 4 }; Async.Fork(delegate() { writer.Write(write, 0, write.Length); writer.Close(); }, null); byte[] read = new byte[10]; int count = reader.Read(read, 0, read.Length); reader.Close(); Assert.AreEqual(write.Length, count); Assert.AreEqual(write, ArrayUtil.SubArray(read, 0, count)); }