本文整理汇总了C#中Db4objects.Db4o.Internal.ByteArrayBuffer.Offset方法的典型用法代码示例。如果您正苦于以下问题:C# ByteArrayBuffer.Offset方法的具体用法?C# ByteArrayBuffer.Offset怎么用?C# ByteArrayBuffer.Offset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.ByteArrayBuffer
的用法示例。
在下文中一共展示了ByteArrayBuffer.Offset方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Marshall
public virtual ByteArrayBuffer Marshall(LocalTransaction transaction, IIntIterator4
ids, int count)
{
ByteArrayBuffer buffer = new ByteArrayBuffer(Const4.IntLength + count * Const4.IntLength
);
int sizeOffset = buffer.Offset();
buffer.WriteInt(0);
int written = 0;
while (count > 0 && ids.MoveNext())
{
buffer.WriteInt(ids.CurrentInt());
++written;
--count;
}
buffer.Seek(sizeOffset);
buffer.WriteInt(written);
return buffer;
}
示例2: CheckSumOK
private bool CheckSumOK(ByteArrayBuffer buffer, int offset)
{
int initialOffSet = buffer.Offset();
int length = OwnLength();
length -= ChecksumLength;
buffer.Seek(offset);
long readCheckSum = buffer.ReadLong();
int checkSumBeginOffset = buffer.Offset();
byte[] bytes = buffer._buffer;
long calculatedCheckSum = CRC32.CheckSum(bytes, checkSumBeginOffset, length);
buffer.Seek(initialOffSet);
return calculatedCheckSum == readCheckSum;
}
示例3: WriteIntAt
private void WriteIntAt(ByteArrayBuffer target, int offset, int value)
{
int currentOffset = target.Offset();
target.Seek(offset);
target.WriteInt(value);
target.Seek(currentOffset);
}
示例4: Marshall
private void Marshall(ByteArrayBuffer buffer, bool shuttingDown)
{
int checkSumOffset = buffer.Offset();
buffer.IncrementOffset(ChecksumLength);
int checkSumBeginOffset = buffer.Offset();
WriteBuffer(buffer, shuttingDown);
int checkSumEndOffSet = buffer.Offset();
byte[] bytes = buffer._buffer;
int length = checkSumEndOffSet - checkSumBeginOffset;
long checkSum = CRC32.CheckSum(bytes, checkSumBeginOffset, length);
buffer.Seek(checkSumOffset);
buffer.WriteLong(checkSum);
buffer.Seek(checkSumEndOffSet);
}