
public class ODurablePage extends Object
This page has several booked memory areas with following offsets at the beginning:
Developer which will extend this class should use all page memory starting from NEXT_FREE_POSITION offset.
OReadCache.release(OCacheEntry, com.orientechnologies.orient.core.storage.cache.OWriteCache) back to the cache.
All data structures which use this kind of pages should be derived from
ODurableComponent class.
| Modifier and Type | Field and Description |
|---|---|
protected OWALChanges |
changes |
protected static int |
CRC32_OFFSET |
static int |
MAGIC_NUMBER_OFFSET |
static int |
MAX_PAGE_SIZE_BYTES |
protected static int |
NEXT_FREE_POSITION |
static int |
WAL_POSITION_OFFSET |
static int |
WAL_SEGMENT_OFFSET |
| Constructor and Description |
|---|
ODurablePage(OCacheEntry cacheEntry,
OWALChanges changes) |
| Modifier and Type | Method and Description |
|---|---|
protected <T> T |
deserializeFromDirectMemory(OBinarySerializer<T> binarySerializer,
int offset) |
protected byte[] |
getBinaryValue(int pageOffset,
int valLen) |
protected byte |
getByteValue(int pageOffset) |
OWALChanges |
getChanges() |
protected int |
getIntValue(int pageOffset) |
static OLogSequenceNumber |
getLogSequenceNumber(int offset,
byte[] data) |
static OLogSequenceNumber |
getLogSequenceNumberFromPage(ByteBuffer buffer) |
protected long |
getLongValue(int pageOffset) |
OLogSequenceNumber |
getLsn() |
protected int |
getObjectSizeInDirectMemory(OBinarySerializer binarySerializer,
int offset) |
static void |
getPageData(ByteBuffer buffer,
byte[] data,
int offset,
int length) |
protected void |
moveData(int from,
int to,
int len) |
void |
restoreChanges(OWALChanges changes) |
protected int |
setBinaryValue(int pageOffset,
byte[] value) |
protected int |
setByteValue(int pageOffset,
byte value) |
protected int |
setIntValue(int pageOffset,
int value) |
protected int |
setLongValue(int pageOffset,
long value) |
void |
setLsn(OLogSequenceNumber lsn) |
String |
toString() |
public static final int MAGIC_NUMBER_OFFSET
protected static final int CRC32_OFFSET
public static final int WAL_SEGMENT_OFFSET
public static final int WAL_POSITION_OFFSET
public static final int MAX_PAGE_SIZE_BYTES
protected static final int NEXT_FREE_POSITION
protected OWALChanges changes
public ODurablePage(OCacheEntry cacheEntry, OWALChanges changes)
public static OLogSequenceNumber getLogSequenceNumberFromPage(ByteBuffer buffer)
public static void getPageData(ByteBuffer buffer, byte[] data, int offset, int length)
public static OLogSequenceNumber getLogSequenceNumber(int offset, byte[] data)
protected int getIntValue(int pageOffset)
protected long getLongValue(int pageOffset)
protected byte[] getBinaryValue(int pageOffset,
int valLen)
protected int getObjectSizeInDirectMemory(OBinarySerializer binarySerializer, int offset)
protected <T> T deserializeFromDirectMemory(OBinarySerializer<T> binarySerializer, int offset)
protected byte getByteValue(int pageOffset)
protected int setIntValue(int pageOffset,
int value)
throws IOException
IOExceptionprotected int setByteValue(int pageOffset,
byte value)
protected int setLongValue(int pageOffset,
long value)
throws IOException
IOExceptionprotected int setBinaryValue(int pageOffset,
byte[] value)
throws IOException
IOExceptionprotected void moveData(int from,
int to,
int len)
throws IOException
IOExceptionpublic OWALChanges getChanges()
public void restoreChanges(OWALChanges changes)
public OLogSequenceNumber getLsn()
public void setLsn(OLogSequenceNumber lsn)
Copyright © 2009–2025 OrientDB. All rights reserved.