/// <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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }