public ByteArrayBuffer readBufferBySlot(Slot slot) { if (Slot.isNull(slot)) { return null; } if (DTrace.enabled) { DTrace.READ_SLOT.logLength(slot.address(), slot.length()); } ByteArrayBuffer buffer = new ByteArrayBuffer(slot.length()); buffer.readEncrypt(this, slot.address()); return buffer; }
public StatefulBuffer readStatefulBufferBySlot(Transaction trans, int id, Slot slot) { if (Slot.isNull(slot)) { return null; } if (DTrace.enabled) { DTrace.READ_SLOT.logLength(slot.address(), slot.length()); } StatefulBuffer buffer = createStatefulBuffer(trans, slot.address(), slot.length()); buffer.setID(id); buffer.readEncrypt(this, slot.address()); return buffer; }
public void free(Slot slot) { if (slot.isNull()) { return; // TODO: This should really be an IllegalArgumentException but old database files // with index-based FreespaceManagers appear to deliver zeroed slots. // throw new IllegalArgumentException(); } if (_freespaceManager == null) { // Can happen on early free before freespacemanager // is up, during conversion. return; } if (DTrace.enabled) { DTrace.FILE_FREE.logLength(slot.address(), slot.length()); } _freespaceManager.free(slot); }