本文整理汇总了C#中Db4objects.Db4o.Internal.StatefulBuffer.WriteInt方法的典型用法代码示例。如果您正苦于以下问题:C# StatefulBuffer.WriteInt方法的具体用法?C# StatefulBuffer.WriteInt怎么用?C# StatefulBuffer.WriteInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.StatefulBuffer
的用法示例。
在下文中一共展示了StatefulBuffer.WriteInt方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplySlotChanges
public override void ApplySlotChanges(IVisitable slotChangeTree, int slotChangeCount
, Slot reservedSlot)
{
if (slotChangeCount > 0)
{
Slot transactionLogSlot = SlotLongEnoughForLog(slotChangeCount, reservedSlot) ? reservedSlot
: AllocateSlot(true, slotChangeCount);
StatefulBuffer buffer = new StatefulBuffer(_container.SystemTransaction(), transactionLogSlot
);
buffer.WriteInt(transactionLogSlot.Length());
buffer.WriteInt(slotChangeCount);
AppendSlotChanges(buffer, slotChangeTree);
buffer.Write();
IRunnable commitHook = _container.CommitHook();
FlushDatabaseFile();
_container.WriteTransactionPointer(transactionLogSlot.Address());
FlushDatabaseFile();
if (WriteSlots(slotChangeTree))
{
FlushDatabaseFile();
}
_container.WriteTransactionPointer(0);
commitHook.Run();
FlushDatabaseFile();
if (transactionLogSlot != reservedSlot)
{
FreeSlot(transactionLogSlot);
}
}
FreeSlot(reservedSlot);
}
示例2: WriteFixedPart
public override void WriteFixedPart(LocalObjectContainer file, bool startFileLockingThread
, bool shuttingDown, StatefulBuffer writer, int blockSize)
{
SystemData systemData = file.SystemData();
writer.Append(Signature);
writer.WriteByte(Version());
writer.WriteInt((int)TimeToWrite(_timerFileLock.OpenTime(), shuttingDown));
writer.WriteLong(TimeToWrite(_timerFileLock.OpenTime(), shuttingDown));
writer.WriteLong(TimeToWrite(Runtime.CurrentTimeMillis(), shuttingDown));
writer.WriteInt(blockSize);
writer.WriteInt(systemData.ClassCollectionID());
writer.WriteByte(systemData.IdSystemType());
writer.WriteInt(((FileHeaderVariablePart2)_variablePart).Address());
writer.WriteInt(((FileHeaderVariablePart2)_variablePart).Length());
writer.WriteInt(_transactionPointerAddress);
writer.Write();
if (shuttingDown)
{
WriteVariablePart(file, true);
}
else
{
file.SyncFiles();
}
if (startFileLockingThread)
{
file.ThreadPool().Start("db4o lock thread", _timerFileLock);
}
}
示例3: AppendPayLoad
private void AppendPayLoad(StatefulBuffer target, Pointer4 pointer, ByteArrayBuffer
payLoad)
{
target.WriteInt(payLoad.Length());
target.WriteInt(pointer.Id());
target.WriteInt(pointer.Address());
target.Append(payLoad._buffer);
}
示例4: WriteTransactionPointer
protected virtual void WriteTransactionPointer(Transaction systemTransaction, int
transactionPointer, int address, int offset)
{
StatefulBuffer bytes = new StatefulBuffer(systemTransaction, address, TransactionPointerLength
);
bytes.MoveForward(offset);
bytes.WriteInt(transactionPointer);
bytes.WriteInt(transactionPointer);
// Dangerous write.
// On corruption transaction pointers will not be the same and nothing will happen.
bytes.Write();
}
示例5: PayLoad
public virtual StatefulBuffer PayLoad()
{
StatefulBuffer writer = new StatefulBuffer(Transaction(), Const4.MessageLength);
writer.WriteInt(_msgID);
return writer;
}
示例6: SlotEntryToZeroes
internal static void SlotEntryToZeroes(LocalObjectContainer file, int address)
{
StatefulBuffer writer = new StatefulBuffer(file.SystemTransaction(), address, SlotLength
());
for (int i = 0; i < IntsInSlot; i++)
{
writer.WriteInt(0);
}
writer.WriteEncrypt();
}