@Override public void free() { super.free(); this.memory = null; }
@Test public void testOwner() { // a segment without an owner has a null owner assertNull(createSegment(64).getOwner()); Object theOwner = new Object(); MemorySegment seg = createSegment(64, theOwner); assertEquals(theOwner, seg.getOwner()); // freeing must release the owner, to prevent leaks that prevent class unloading! seg.free(); assertNotNull(seg.getOwner()); }
seg.free();
@Test public void testSizeAndFreeing() { // a segment without an owner has a null owner final int segmentSize = 651; MemorySegment seg = createSegment(segmentSize); assertEquals(segmentSize, seg.size()); assertFalse(seg.isFreed()); seg.free(); assertTrue(seg.isFreed()); assertEquals(segmentSize, seg.size()); }
@Test public void testCheckAgainstOverflowUnderflowOnRelease() { MemorySegment seg = createSegment(512); seg.free();
/** * Frees the given memory segment. * @param memorySegment The memory segment to be recycled. */ @Override public void recycle(MemorySegment memorySegment) { memorySegment.free(); } }
@Override public void free() { super.free(); this.memory = null; }
/** * Frees the given memory segment. * @param memorySegment The memory segment to be recycled. */ @Override public void recycle(MemorySegment memorySegment) { memorySegment.free(); } }
public void destroy() { synchronized (factoryLock) { isDestroyed = true; MemorySegment segment; while ((segment = availableMemorySegments.poll()) != null) { segment.free(); } } }
public void destroy() { synchronized (factoryLock) { isDestroyed = true; MemorySegment segment; while ((segment = availableMemorySegments.poll()) != null) { segment.free(); } } }
public void destroy() { synchronized (factoryLock) { isDestroyed = true; MemorySegment segment; while ((segment = availableMemorySegments.poll()) != null) { segment.free(); } } }
public void destroy() { synchronized (factoryLock) { isDestroyed = true; MemorySegment segment; while ((segment = availableMemorySegments.poll()) != null) { segment.free(); } } }
void freeAllocatedSegments() { for (Set<MemorySegment> segments : allocatedSegments.values()) { for (MemorySegment seg : segments) { seg.free(); } } allocatedSegments.clear(); }
@Override public void recycle(MemorySegment memorySegment) { synchronized (buffers) { if (isDestroyed) { memorySegment.free(); } else { buffers.add(new Buffer(memorySegment, this)); buffers.notifyAll(); } } }
private void releaseMemorySegment(MemorySegment seg) { if (isPreAllocated) { memoryPool.returnSegmentToPool(seg); } else { seg.free(); } }
@Override public void recycle(MemorySegment memorySegment) { synchronized (buffers) { if (isDestroyed) { memorySegment.free(); } else { buffers.add(new NetworkBuffer(memorySegment, this)); buffers.notifyAll(); } } }
private void testOpsOnFreedSegment(MemorySegment segment) throws Exception { segment.free(); assertTrue(segment.isFreed());