Example #1
0
 public AnimateLeds(IOutputSegment segment)
 {
     _segment = segment;
     _leds    = Enumerable.Range(0, _segment.Length).ToArray();
     _ledsRev = _leds.Reverse().ToArray();
     LitTime  = _litTimeDefault;
     DimTime  = _dimTimeDefault;
 }
Example #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);
            }
        }
Example #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();
            }
        }
Example #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();
            }
        }
Example #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);
            }
        }
Example #6
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     next = c;
     DoConnect();
     HandOffSocketIfPossible();
 }
Example #7
0
 public MessageConsumer(IOutputSegment previous, IDataProducer message) : base(previous)
 {
     this.message = message;
 }
Example #8
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     throw new NotSupportedException();
 }
Example #9
0
 public LastConsumer(IOutputSegment previous) : base(previous) { }
Example #10
0
 public abstract void AttachNextSegment(IOutputSegment next);
Example #11
0
 public BaseConsumer(IOutputSegment previous)
 {
     this.previous = previous;
 }
Example #12
0
 public void Dispose()
 {
     _segment?.Dispose();
     _segment = null !;
 }
Example #13
0
 public MessageConsumer(IOutputSegment previous, IDataProducer message) : base(previous)
 {
     this.message = message;
 }
Example #14
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     throw new NotSupportedException();
 }
Example #15
0
 public LastConsumer(IOutputSegment previous) : base(previous)
 {
 }
Example #16
0
 public abstract void AttachNextSegment(IOutputSegment next);
Example #17
0
 public virtual void AttachSocket(ISocket socket)
 {
     previous    = null;
     this.socket = socket;
 }
Example #18
0
 public virtual void AttachSocket(ISocket socket)
 {
     previous = null;
     this.socket = socket;
 }
Example #19
0
 public BaseConsumer(IOutputSegment previous)
 {
     this.previous = previous;
 }
Example #20
0
 public override void AttachNextSegment(IOutputSegment c)
 {
     next = c;
     DoConnect();
     HandOffSocketIfPossible();
 }