private void doTestFixed(final Buffer input, Integer[] chunkSizes, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; class MyHandler implements Handler<Buffer> { int pos; RecordParser parser = RecordParser.newFixed(expected[0].length(), this); public void handle(Buffer buff) { results[pos++] = buff; if (pos < expected.length) { parser.fixedSizeMode(expected[pos].length()); } } } MyHandler out = new MyHandler(); feedChunks(input, out.parser, chunkSizes); checkResults(expected, results); }
private void doTestDelimited(final Buffer input, Buffer delim, Integer[] chunkSizes, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; Handler<Buffer> out = new Handler<Buffer>() { int pos; public void handle(Buffer buff) { results[pos++] = buff; } }; RecordParser parser = RecordParser.newDelimited(delim, out); feedChunks(input, parser, chunkSizes); checkResults(expected, results); }
private void doTestDelimitedMaxRecordSize(final Buffer input, Buffer delim, Integer[] chunkSizes, int maxRecordSize, Handler<Throwable> exHandler, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; Handler<Buffer> out = new Handler<Buffer>() { int pos; public void handle(Buffer buff) { results[pos++] = buff; } }; RecordParser parser = RecordParser.newDelimited(delim, out); parser.maxRecordSize(maxRecordSize); parser.exceptionHandler(exHandler); feedChunks(input, parser, chunkSizes); checkResults(expected, results); } }
types.add(expected[7].length()); feedChunks(input, out.parser, new Integer[]{50, 10, 3});
private void doTestFixed(final Buffer input, Integer[] chunkSizes, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; class MyHandler implements Handler<Buffer> { int pos; RecordParser parser = RecordParser.newFixed(expected[0].length(), this); public void handle(Buffer buff) { results[pos++] = buff; if (pos < expected.length) { parser.fixedSizeMode(expected[pos].length()); } } } MyHandler out = new MyHandler(); feedChunks(input, out.parser, chunkSizes); checkResults(expected, results); }
private void doTestDelimited(final Buffer input, Buffer delim, Integer[] chunkSizes, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; Handler<Buffer> out = new Handler<Buffer>() { int pos; public void handle(Buffer buff) { results[pos++] = buff; } }; RecordParser parser = RecordParser.newDelimited(delim, out); feedChunks(input, parser, chunkSizes); checkResults(expected, results); }
private void doTestDelimitedMaxRecordSize(final Buffer input, Buffer delim, Integer[] chunkSizes, int maxRecordSize, Handler<Throwable> exHandler, final Buffer... expected) { final Buffer[] results = new Buffer[expected.length]; Handler<Buffer> out = new Handler<Buffer>() { int pos; public void handle(Buffer buff) { results[pos++] = buff; } }; RecordParser parser = RecordParser.newDelimited(delim, out); parser.maxRecordSize(maxRecordSize); parser.exceptionHandler(exHandler); feedChunks(input, parser, chunkSizes); checkResults(expected, results); } }
types.add(expected[7].length()); feedChunks(input, out.parser, new Integer[]{50, 10, 3});