Search in sources :

Example 16 with Block

use of org.apache.jena.dboe.base.block.Block in project jena by apache.

the class AbstractTestBlockAccessFixedSize method fileaccess_04.

@Test
public void fileaccess_04() {
    Block b1 = data(file, blkSize);
    Block b2 = data(file, blkSize);
    file.write(b1);
    file.write(b2);
    long x = b1.getId();
    Block b8 = file.read(b1.getId());
    Block b9 = file.read(b1.getId());
    assertNotSame(b8, b9);
    assertTrue(b8.getId() == b9.getId());
}
Also used : Block(org.apache.jena.dboe.base.block.Block) Test(org.junit.Test)

Example 17 with Block

use of org.apache.jena.dboe.base.block.Block in project jena by apache.

the class AbstractTestBlockAccessFixedSize method fileaccess_05.

@Test(expected = FileException.class)
public void fileaccess_05() {
    Block b1 = data(file, 10);
    Block b2 = data(file, 20);
    file.write(b1);
    // Should not work. b2 not written.
    Block b2a = file.read(b2.getId());
}
Also used : Block(org.apache.jena.dboe.base.block.Block) Test(org.junit.Test)

Example 18 with Block

use of org.apache.jena.dboe.base.block.Block in project jena by apache.

the class BlockAccessMem method read.

@Override
public Block read(long id) {
    checkNotClosed();
    check(id);
    Block blk = blocks.get((int) id);
    blk = replicateBlock(blk);
    blk.setModified(false);
    return blk;
}
Also used : Block(org.apache.jena.dboe.base.block.Block)

Example 19 with Block

use of org.apache.jena.dboe.base.block.Block in project jena by apache.

the class BlockAccessByteArray method allocate.

@Override
public Block allocate(int size) {
    long addr = alloc;
    ByteBuffer bb = ByteBuffer.allocate(size);
    alloc += (size + SizeOfInt);
    return new Block((int) addr, bb);
}
Also used : Block(org.apache.jena.dboe.base.block.Block) ByteBuffer(java.nio.ByteBuffer)

Example 20 with Block

use of org.apache.jena.dboe.base.block.Block in project jena by apache.

the class BlockAccessMapped method allocate.

@Override
public Block allocate(int blkSize) {
    if (blkSize > 0 && blkSize != this.blockSize)
        throw new FileException("Fixed blocksize only: request= " + blkSize + "fixed size=" + this.blockSize);
    int id = allocateId();
    ByteBuffer bb = getByteBuffer(id);
    bb.position(0);
    Block block = new Block(id, bb);
    return block;
}
Also used : Block(org.apache.jena.dboe.base.block.Block) ByteBuffer(java.nio.ByteBuffer) MappedByteBuffer(java.nio.MappedByteBuffer)

Aggregations

Block (org.apache.jena.dboe.base.block.Block)24 ByteBuffer (java.nio.ByteBuffer)7 Test (org.junit.Test)5 MappedByteBuffer (java.nio.MappedByteBuffer)2 InternalErrorException (org.apache.jena.atlas.lib.InternalErrorException)1