Example #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);
        }