@Test public void test_findMapedFileByOffset() { final String fixedMsg = "abcd"; System.out.println("================================================================"); AllocateMapedFileService allocateMapedFileService = new AllocateMapedFileService(); allocateMapedFileService.start(); MapedFileQueue mapedFileQueue = new MapedFileQueue("./unit_test_store/b/", 1024, allocateMapedFileService); for (int i = 0; i < 1024; i++) { MapedFile mapedFile = mapedFileQueue.getLastMapedFile(); assertTrue(mapedFile != null); boolean result = mapedFile.appendMessage(fixedMsg.getBytes()); // System.out.println("appendMessage " + bytes); assertTrue(result); } MapedFile mapedFile = mapedFileQueue.findMapedFileByOffset(0); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 0); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(100); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 0); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(1024); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 1024); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(1024 + 100); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 1024); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(1024 * 2); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 1024 * 2); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(1024 * 2 + 100); assertTrue(mapedFile != null); assertEquals(mapedFile.getFileFromOffset(), 1024 * 2); System.out.println(mapedFile.getFileFromOffset()); mapedFile = mapedFileQueue.findMapedFileByOffset(1024 * 4); assertTrue(mapedFile == null); mapedFile = mapedFileQueue.findMapedFileByOffset(1024 * 4 + 100); assertTrue(mapedFile == null); mapedFileQueue.shutdown(1000); mapedFileQueue.destroy(); allocateMapedFileService.shutdown(); System.out.println("MapedFileQueue.findMapedFileByOffset() OK"); }