[C#]ResetToInd

Created Diff never expires
7 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
63 lines
15 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
71 lines
public sealed partial class InstrumentEntriesGroup
public sealed partial class InstrumentEntriesGroup
{
{
private readonly GroupSizeEncoding _dimensions = new GroupSizeEncoding();
private readonly GroupSizeEncoding _dimensions = new GroupSizeEncoding();
private RegisterInstrumentRequest _parentMessage;
private RegisterInstrumentRequest _parentMessage;
private DirectBuffer _buffer;
private DirectBuffer _buffer;
private int _blockLength;
private int _blockLength;
private int _actingVersion;
private int _actingVersion;
private int _count;
private int _count;
private int _index;
private int _index;
private int _offset;
private int _offset;


public void WrapForDecode(RegisterInstrumentRequest parentMessage, DirectBuffer buffer, int actingVersion)
public void WrapForDecode(RegisterInstrumentRequest parentMessage, DirectBuffer buffer, int actingVersion)
{
{
_parentMessage = parentMessage;
_parentMessage = parentMessage;
_buffer = buffer;
_buffer = buffer;
_dimensions.Wrap(buffer, parentMessage.Limit, actingVersion);
_dimensions.Wrap(buffer, parentMessage.Limit, actingVersion);
_blockLength = _dimensions.BlockLength;
_blockLength = _dimensions.BlockLength;
_count = (int) _dimensions.NumInGroup;
_count = (int) _dimensions.NumInGroup;
_actingVersion = actingVersion;
_actingVersion = actingVersion;
_index = -1;
_index = 0;
_parentMessage.Limit = parentMessage.Limit + SbeHeaderSize;
_parentMessage.Limit = parentMessage.Limit + SbeHeaderSize;
}
}


public void WrapForEncode(RegisterInstrumentRequest parentMessage, DirectBuffer buffer, int count)
public void WrapForEncode(RegisterInstrumentRequest parentMessage, DirectBuffer buffer, int count)
{
{
if ((uint) count > 65534)
if ((uint) count > 65534)
{
{
ThrowHelper.ThrowCountOutOfRangeException(count);
ThrowHelper.ThrowCountOutOfRangeException(count);
}
}


_parentMessage = parentMessage;
_parentMessage = parentMessage;
_buffer = buffer;
_buffer = buffer;
_dimensions.Wrap(buffer, parentMessage.Limit, _actingVersion);
_dimensions.Wrap(buffer, parentMessage.Limit, _actingVersion);
_dimensions.BlockLength = (ushort)8;
_dimensions.BlockLength = SbeBlockLength;
_dimensions.NumInGroup = (ushort)count;
_dimensions.NumInGroup = (ushort) count;
_index = -1;
_index = 0;
_count = count;
_count = count;
_blockLength = 8;
_blockLength = SbeBlockLength;
_actingVersion = SchemaVersion;
_actingVersion = SchemaVersion;
parentMessage.Limit = parentMessage.Limit + SbeHeaderSize;
parentMessage.Limit = parentMessage.Limit + SbeHeaderSize;
}
}


public const int SbeBlockLength = 8;
public const int SbeBlockLength = 8;
public const int SbeHeaderSize = 4;
public const int SbeHeaderSize = 4;
public int ActingBlockLength { get { return _blockLength; } }
public int ActingBlockLength { get { return _blockLength; } }


public int Count { get { return _count; } }
public int Count { get { return _count; } }


public bool HasNext { get { return (_index + 1) < _count; } }
public bool HasNext { get { return _index < _count; } }

public int ResetCountToIndex()
{
_count = _index;
_dimensions.NumInGroup = (ushort) _count;

return _count;
}


public InstrumentEntriesGroup Next()
public InstrumentEntriesGroup Next()
{
{
if (_index + 1 >= _count)
if (_index >= _count)
{
{
ThrowHelper.ThrowInvalidOperationException();
ThrowHelper.ThrowInvalidOperationException();
}
}


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


return this;
return this;
}
}