private static long writeOne(Transactional transactional, TransBinaryDataFile transBinaryFile, String data) { return Txn.calculateWrite(transactional, ()->{ byte[] bytes = StrUtils.asUTF8bytes(data) ; int len = bytes.length ; byte[] lenBytes = new byte[4] ; Bytes.setInt(len, lenBytes); // To work with strings, we write length,bytes. long x = transBinaryFile.write(lenBytes); transBinaryFile.write(bytes); return x ; }) ; }
private static long writeOne(Transactional transactional, TransBinaryDataFile transBinaryFile, String data) { return Txn.calculateWrite(transactional, ()->{ byte[] bytes = StrUtils.asUTF8bytes(data) ; int len = bytes.length ; byte[] lenBytes = new byte[4] ; Bytes.setInt(len, lenBytes); // To work with strings, we write length,bytes. long x = transBinaryFile.write(lenBytes); transBinaryFile.write(bytes); return x ; }) ; }
@Test public void transObjectFile_6() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes2a = new byte[len2] ; int len2a = transBinData.read(len1, bytes2a) ; assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_6() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes2a = new byte[len2] ; int len2a = transBinData.read(len1, bytes2a) ; assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_3() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len1a = transBinData.read(0, bytes1a) ; int len2a = transBinData.read(len1a, bytes2a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_3() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len1a = transBinData.read(0, bytes1a) ; int len2a = transBinData.read(len1a, bytes2a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_1() { Txn.executeWrite(transactional, ()->{ long x = transBinData.write(bytes1) ; assertEquals(0L, x) ; assertEquals(len1, transBinData.length()) ; }) ; }
@Test public void transObjectFile_4() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len1a = transBinData.read(0, bytes1a) ; int len2a = transBinData.read(len1a, bytes2a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_1() { Txn.executeWrite(transactional, ()->{ long x = transBinData.write(bytes1) ; assertEquals(0L, x) ; assertEquals(len1, transBinData.length()) ; }) ; }
@Test public void transObjectFile_5() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len2a = transBinData.read(len1, bytes2a) ; int len1a = transBinData.read(0, bytes1a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_7() { ThreadTxn.threadTxnWriteAbort(transactional, ()->{ long x1 = transBinData.write(bytes1) ; }).run() ; Txn.executeRead(transactional, ()->{ assertEquals(0L, transBinData.length()) ; }) ; }
@Test public void transObjectFile_5() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len2a = transBinData.read(len1, bytes2a) ; int len1a = transBinData.read(0, bytes1a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_4() { Txn.executeWrite(transactional, ()->{ long x1 = transBinData.write(bytes1) ; long x2 = transBinData.write(bytes2) ; }) ; Txn.executeRead(transactional, ()->{ byte[] bytes1a = new byte[len1] ; byte[] bytes2a = new byte[len2] ; int len1a = transBinData.read(0, bytes1a) ; int len2a = transBinData.read(len1a, bytes2a) ; assertEquals(len1, len1a) ; assertArrayEquals(bytes1, bytes1a); assertEquals(len2, len2a) ; assertArrayEquals(bytes2, bytes2a); }) ; }
@Test public void transObjectFile_7() { ThreadTxn.threadTxnWriteAbort(transactional, ()->{ long x1 = transBinData.write(bytes1) ; }).run() ; Txn.executeRead(transactional, ()->{ assertEquals(0L, transBinData.length()) ; }) ; }
@Test public void transObjectFile_2() { Txn.executeWrite(transactional, ()->{ long x = transBinData.write(bytes1) ; assertEquals(0L, x) ; assertEquals(len1, transBinData.length()) ; byte[] bytes1a = new byte[len1] ; int len = transBinData.read(0, bytes1a) ; assertEquals(len1, len) ; assertArrayEquals(bytes1, bytes1a); }) ; }
@Test public void transObjectFile_2() { Txn.executeWrite(transactional, ()->{ long x = transBinData.write(bytes1) ; assertEquals(0L, x) ; assertEquals(len1, transBinData.length()) ; byte[] bytes1a = new byte[len1] ; int len = transBinData.read(0, bytes1a) ; assertEquals(len1, len) ; assertArrayEquals(bytes1, bytes1a); }) ; }