public RingBuffer(int size) { Transforms = new List <Tuple <int, Func <object, object> > >(); Size = size; Head = RingBufferCell.Build(this, Size); Steps = Enumerable.Repeat(Head, 10).ToArray(); WriteLock = new object(); }
public static RingBufferCell Build( RingBuffer ring, int count ) { var head = new RingBufferCell( ring ); var last = head; while ( --count > 0 ) { var cell = new RingBufferCell( ring ); last.Next = cell; last = cell; } last.Next = head; last.Tail = true; return head; }
public static RingBufferCell Build(RingBuffer ring, int count) { var head = new RingBufferCell(ring); var last = head; while (--count > 0) { var cell = new RingBufferCell(ring); last.Next = cell; last = cell; } last.Next = head; last.Tail = true; return(head); }