public SnapshotsEncoder Next() { if (_index + 1 >= _count) { throw new IndexOutOfRangeException(); } _offset = _parentMessage.Limit(); _parentMessage.Limit(_offset + SbeBlockLength()); ++_index; return(this); }
public void Wrap( SnapshotRecordingsEncoder parentMessage, IMutableDirectBuffer buffer, int count) { if (count < 0 || count > 65534) { throw new ArgumentException("count outside allowed range: count=" + count); } this._parentMessage = parentMessage; this._buffer = buffer; _dimensions.Wrap(buffer, parentMessage.Limit()); _dimensions.BlockLength((ushort)44); _dimensions.NumInGroup((ushort)count); _index = -1; this._count = count; parentMessage.Limit(parentMessage.Limit() + HEADER_SIZE); }
public SnapshotRecordingsEncoder PutMemberEndpoints(IDirectBuffer src, int srcOffset, int length) { if (length > 1073741824) { throw new InvalidOperationException("length > maxValue for type: " + length); } int headerLength = 4; int limit = _parentMessage.Limit(); _parentMessage.Limit(limit + headerLength + length); _buffer.PutInt(limit, unchecked ((int)length), ByteOrder.LittleEndian); _buffer.PutBytes(limit + headerLength, src, srcOffset, length); return(this); }