예제 #1
0
 public void Wrap(
     RecoveryPlanDecoder parentMessage, IDirectBuffer buffer)
 {
     this._parentMessage = parentMessage;
     this._buffer        = buffer;
     _dimensions.Wrap(buffer, parentMessage.Limit());
     _blockLength = _dimensions.BlockLength();
     _count       = _dimensions.NumInGroup();
     _index       = -1;
     parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE);
 }
예제 #2
0
            public StepsDecoder Next()
            {
                if (_index + 1 >= _count)
                {
                    throw new IndexOutOfRangeException();
                }

                _offset = _parentMessage.Limit();
                _parentMessage.Limit(_offset + _blockLength);
                ++_index;

                return(this);
            }