Пример #1
0
 public AnimateLeds(IOutputSegment segment)
 {
     _segment = segment;
     _leds    = Enumerable.Range(0, _segment.Length).ToArray();
     _ledsRev = _leds.Reverse().ToArray();
     LitTime  = _litTimeDefault;
     DimTime  = _dimTimeDefault;
 }
Пример #2
0
        // called after the last message has been queued.
        // could be if !shouldKeepAlive on request - last message will have been queued
        // could be if user indicates connection close - could have pending messages, all should be cancelled
        public void OnCompleted()
        {
            var c = new LastConsumer(tail);

            if (tail == null)
            {
                // implicitly end socket
                c.AttachSocket(socket);
            }
            else
            {
                var t = tail;
                tail = c;
                t.AttachNextSegment(c);
            }
        }
Пример #3
0
        public virtual void Dispose()
        {
            if (socket != null)
            {
                var s = socket;
                socket = null;
                s.End();
            }

            if (previous != null)
            {
                var p = previous;
                previous = null;
                p.Dispose();
            }
        }
Пример #4
0
        public virtual void Dispose()
        {
            if (socket != null)
            {
                var s = socket;
                socket = null;
                s.End();
            }

            if (previous != null)
            {
                var p = previous;
                previous = null;
                p.Dispose();
            }
        }
Пример #5
0
        // each one of these represents an entire response message (continue, headers, body)
        public void OnNext(IDataProducer message)
        {
            var c = new MessageConsumer(tail, message);
            var t = tail;

            tail = c;

            if (t == null)
            {
                c.AttachSocket(socket);
            }
            else
            {
                t.AttachNextSegment(c);
            }
        }
Пример #6
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     next = c;
     DoConnect();
     HandOffSocketIfPossible();
 }
Пример #7
0
 public MessageConsumer(IOutputSegment previous, IDataProducer message) : base(previous)
 {
     this.message = message;
 }
Пример #8
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     throw new NotSupportedException();
 }
Пример #9
0
 public LastConsumer(IOutputSegment previous) : base(previous) { }
Пример #10
0
 public abstract void AttachNextSegment(IOutputSegment next);
Пример #11
0
 public BaseConsumer(IOutputSegment previous)
 {
     this.previous = previous;
 }
Пример #12
0
 public void Dispose()
 {
     _segment?.Dispose();
     _segment = null !;
 }
Пример #13
0
 public MessageConsumer(IOutputSegment previous, IDataProducer message) : base(previous)
 {
     this.message = message;
 }
Пример #14
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     throw new NotSupportedException();
 }
Пример #15
0
 public LastConsumer(IOutputSegment previous) : base(previous)
 {
 }
Пример #16
0
 public abstract void AttachNextSegment(IOutputSegment next);
Пример #17
0
 public virtual void AttachSocket(ISocket socket)
 {
     previous    = null;
     this.socket = socket;
 }
Пример #18
0
 public virtual void AttachSocket(ISocket socket)
 {
     previous = null;
     this.socket = socket;
 }
Пример #19
0
 public BaseConsumer(IOutputSegment previous)
 {
     this.previous = previous;
 }
Пример #20
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     next = c;
     DoConnect();
     HandOffSocketIfPossible();
 }