@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id ; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id ; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block getReadIterator(long id) { synchronized (this) { checkReadOrIter(IterRead) ; Long x = id; add(IterRead, x) ; activeIterBlocks.add(x) ; } return blockMgr.getReadIterator(id) ; }
@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id ; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id ; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block getWrite(long id) { synchronized (this) { checkUpdate(GetWrite) ; Long x = id ; add(GetWrite, x) ; activeWriteBlocks.add(x) ; } return blockMgr.getWrite(id) ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block allocate(int blockSize) { Block block ; synchronized (this) { checkUpdate(Alloc) ; block = blockMgr.allocate(blockSize) ; Long id = block.getId() ; activeWriteBlocks.add(id) ; add(Alloc, id) ; } return block ; }
@Override public Block promote(Block block) { synchronized (this) { checkUpdate(Promote) ; Long id = block.getId() ; add(Promote, id) ; if ( !activeWriteBlocks.contains(id) && !activeReadBlocks.contains(id) ) error(Promote, id + " is not an active block") ; while ( activeReadBlocks.contains(id) ) activeReadBlocks.remove(id) ; // Double promotion results in only one entry. if ( !activeWriteBlocks.contains(id) ) activeWriteBlocks.add(id) ; } return blockMgr.promote(block) ; }