Beispiel #1
0
        public void Start(Func<ArraySegment<byte>, Action<Exception>, TempEnum> write, Action<Exception> end, CancellationToken cancellationToken)
        {
            bodyStream = new BodyStream(write, end, cancellationToken);

            Action start = () =>
            {
                try
                {
                    if (bodyStream.CanSend())
                    {
                        var bytes = encoding.GetBytes(text);
                        var segment = new ArraySegment<byte>(bytes);

                        // Not buffered.
                        bodyStream.SendBytes(segment, null, null);

                        bodyStream.Finish();
                    }
                }
                catch (Exception ex)
                {
                    bodyStream.End(ex);
                }
            };

            bodyStream.Start(start, null);
        }
Beispiel #2
0
        public void BodyStream_calls_dispose_action_when_it_finishes()
        {
            var called = false;
            var bodyStream = new BodyStream((data) => false, null, _=> { }, CancellationToken.None);
            bodyStream.Start(() => { }, () => { called = true; });

            bodyStream.Finish();

            Assert.That(called, Is.True);
        }