@Override public BatchStream pause() { recordParser.pause(); return this; }
@Test public void testParseEmptyChunkOnFetch() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause(); stream.emit(Buffer.buffer("abc\r\n\r\n")); parser.fetch(1); assertEquals(Collections.singletonList(Buffer.buffer("abc")), emitted); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("abc"), Buffer.buffer()), emitted); }
@Test public void testSuspendParsing() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause().fetch(1); stream.emit(Buffer.buffer("abc\r\ndef\r\n")); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("abc"), Buffer.buffer("def")), emitted); }
@Test public void testSwitchModeResetsState() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause(); stream.emit(Buffer.buffer("3\r\nabc\r\n")); parser.fetch(1); assertEquals(Collections.singletonList(Buffer.buffer("3")), emitted); parser.fixedSizeMode(5); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("3"), Buffer.buffer("abc\r\n")), emitted); }
@Test public void testPausedStreamShouldNotPauseOnIncompleteMatch() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); parser.handler(event -> {}); parser.pause().fetch(1); stream.emit(Buffer.buffer("abc")); assertFalse(stream.isPaused()); }
@Test public void testSuspendParsing() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause().fetch(1); stream.emit(Buffer.buffer("abc\r\ndef\r\n")); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("abc"), Buffer.buffer("def")), emitted); }
@Test public void testParseEmptyChunkOnFetch() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause(); stream.emit(Buffer.buffer("abc\r\n\r\n")); parser.fetch(1); assertEquals(Collections.singletonList(Buffer.buffer("abc")), emitted); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("abc"), Buffer.buffer()), emitted); }
@Test public void testSwitchModeResetsState() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); List<Buffer> emitted = new ArrayList<>(); parser.handler(emitted::add); parser.pause(); stream.emit(Buffer.buffer("3\r\nabc\r\n")); parser.fetch(1); assertEquals(Collections.singletonList(Buffer.buffer("3")), emitted); parser.fixedSizeMode(5); parser.fetch(1); assertEquals(Arrays.asList(Buffer.buffer("3"), Buffer.buffer("abc\r\n")), emitted); }
public io.vertx.rxjava.core.parsetools.RecordParser pause() { delegate.pause(); return this; }
public io.vertx.rxjava.core.parsetools.RecordParser pause() { delegate.pause(); return this; }
@Test public void testPausedStreamShouldNotPauseOnIncompleteMatch() { FakeStream<Buffer> stream = new FakeStream<>(); RecordParser parser = RecordParser.newDelimited("\r\n", stream); parser.handler(event -> {}); parser.pause().fetch(1); stream.emit(Buffer.buffer("abc")); assertFalse(stream.isPaused()); }
public static void main(String[] args) { Vertx vertx = Vertx.vertx(); AsyncFile file = vertx.fileSystem().openBlocking("sample.db", new OpenOptions().setRead(true)); RecordParser parser = RecordParser.newFixed(4, file); parser.pause(); parser.fetch(1); parser.handler(header -> readMagicNumber(header, parser)); parser.endHandler(v -> vertx.close()); }