@Test @SuppressWarnings("unchecked") public void testDispose() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() { @Override public void run() { final int allocSize = 16384; // Initialize memory manager mm.allocate(33); final int initialSize = mm.getReadyThreadBufferSize(); Buffer buffer = mm.allocate(allocSize); assertEquals( initialSize - allocSize, mm.getReadyThreadBufferSize()); buffer.dispose(); assertEquals(initialSize, mm.getReadyThreadBufferSize()); } }; testInWorkerThread(mm, r); }
@Test @SuppressWarnings("unchecked") public void testCompositeBufferDispose() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() { @Override public void run() { // Initialize memory manager mm.allocate(33); final int initialSize = mm.getReadyThreadBufferSize(); CompositeBuffer compositeBuffer = CompositeBuffer.newBuffer(mm); for (int i = 0; i < 3; i++) { Buffer b = mm.allocate(100); b.allowBufferDispose(true); compositeBuffer.append(b); } compositeBuffer.toByteBuffer(0, 100); compositeBuffer.position(100); compositeBuffer.dispose(); assertEquals(initialSize, mm.getReadyThreadBufferSize()); } }; testInWorkerThread(mm, r); }
@Test @SuppressWarnings("unchecked") public void testTrimDispose() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() { @Override public void run() { final int allocSize = 16384; // Initialize memory manager mm.allocate(33); final int initialSize = mm.getReadyThreadBufferSize(); Buffer buffer = mm.allocate(allocSize); assertEquals( initialSize - allocSize, mm.getReadyThreadBufferSize()); buffer.position(allocSize / 2); buffer.trim(); assertEquals(initialSize - allocSize / 2, mm.getReadyThreadBufferSize()); buffer.dispose(); assertEquals(initialSize, mm.getReadyThreadBufferSize()); } }; testInWorkerThread(mm, r); }
@Test @SuppressWarnings("unchecked") public void testDisposeUnused() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() { @Override public void run() { // Initialize memory manager mm.allocate(33); final int initialSize = mm.getReadyThreadBufferSize(); CompositeBuffer compositeBuffer = CompositeBuffer.newBuffer(mm); for (int i = 0; i < 11; i++) { Buffer b = mm.allocate(1228); b.allowBufferDispose(true); compositeBuffer.append(b); } compositeBuffer.toByteBufferArray(0, 12280); compositeBuffer.limit(1228); compositeBuffer.shrink(); assertEquals(initialSize - (1228 * 11 - 12280), mm.getReadyThreadBufferSize()); compositeBuffer.position(compositeBuffer.limit()); compositeBuffer.shrink(); assertEquals(initialSize, mm.getReadyThreadBufferSize()); } }; testInWorkerThread(mm, r); }
@Test @SuppressWarnings("unchecked") public void testTrimAllocateHistory() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() {
@Test @SuppressWarnings("unchecked") public void testReallocate() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe()); Runnable r = new Runnable() {
@Test @SuppressWarnings("unchecked") public void testSimpleAllocateHistory() throws Exception { mm.getMonitoringConfig().addProbes(new MyMemoryMonitoringProbe());