()
| 200 | } |
| 201 | |
| 202 | @Test |
| 203 | public void testSeek() { |
| 204 | String msg = "Test ABC"; |
| 205 | StringSink sink = new StringSink(); |
| 206 | try (Path msgSink = new Path().of(msg)) { |
| 207 | int msgLen = msgSink.size() + 1; |
| 208 | |
| 209 | long acceptFd = Net.socketTcp(true); |
| 210 | Assert.assertTrue(acceptFd > 0); |
| 211 | int port = assertCanBind(acceptFd); |
| 212 | Net.listen(acceptFd, 1024); |
| 213 | |
| 214 | long clientFd = Net.socketTcp(true); |
| 215 | long sockAddr = Net.sockaddr("127.0.0.1", port); |
| 216 | TestUtils.assertConnect(clientFd, sockAddr); |
| 217 | Assert.assertEquals(msgLen, Net.send(clientFd, msgSink.$().ptr(), msgLen)); |
| 218 | Net.close(clientFd); |
| 219 | Net.freeSockAddr(sockAddr); |
| 220 | |
| 221 | long serverFd = Net.accept(acceptFd); |
| 222 | long serverBuf = Unsafe.malloc(msgLen, MemoryTag.NATIVE_IO_DISPATCHER_RSS); |
| 223 | Assert.assertEquals(msgLen, Net.peek(serverFd, serverBuf, msgLen)); |
| 224 | Utf8s.utf8ToUtf16Z(serverBuf, sink); |
| 225 | TestUtils.assertEquals(msg, sink); |
| 226 | Assert.assertEquals(msgLen, Net.recv(serverFd, serverBuf, msgLen)); |
| 227 | sink.clear(); |
| 228 | Utf8s.utf8ToUtf16Z(serverBuf, sink); |
| 229 | TestUtils.assertEquals(msg, sink); |
| 230 | Unsafe.free(serverBuf, msgLen, MemoryTag.NATIVE_IO_DISPATCHER_RSS); |
| 231 | Net.close(serverFd); |
| 232 | |
| 233 | Net.close(acceptFd); |
| 234 | } |
| 235 | } |
| 236 | |
| 237 | @Test |
| 238 | public void testSendAndRecvBuffer() throws InterruptedException, BrokenBarrierException { |
nothing calls this directly
no test coverage detected