@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleConnect(FilterChainContext ctx) throws IOException { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { return filter.handleConnect(ctx); } return super.handleConnect(ctx); }
@Override public NextAction handleRead(FilterChainContext ctx) throws IOException { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { return filter.handleRead(ctx); } return super.handleRead(ctx); }
@Override public void exceptionOccurred(FilterChainContext ctx, Throwable error) { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { filter.exceptionOccurred(ctx, error); } super.exceptionOccurred(ctx, error); }
@Override public FilterChainContext createContext(Connection connection, FilterChainContext.Operation operation) { F filter = retrieveFilter(connection); if (filter != null) { return filter.createContext(connection, operation); } return super.createContext(connection, operation); }
@Override public void exceptionOccurred(FilterChainContext ctx, Throwable error) { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { filter.exceptionOccurred(ctx, error); } super.exceptionOccurred(ctx, error); }
@Override public FilterChainContext createContext(Connection connection, FilterChainContext.Operation operation) { F filter = retrieveFilter(connection); if (filter != null) { return filter.createContext(connection, operation); } return super.createContext(connection, operation); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleRead(FilterChainContext ctx) throws IOException { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { return filter.handleRead(ctx); } return super.handleRead(ctx); }
@Override public NextAction handleConnect(FilterChainContext ctx) throws IOException { F filter = retrieveFilter(ctx.getConnection()); if (filter != null) { return filter.handleConnect(ctx); } return super.handleConnect(ctx); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleRead(FilterChainContext ctx) throws IOException { clientRcvdMessages.incrementAndGet(); return super.handleRead(ctx); } }).build();
@Override public NextAction handleConnect(FilterChainContext ctx) throws IOException { connectionCounter.incrementAndGet(); touch(); return super.handleConnect(ctx); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleRead(final FilterChainContext ctx) throws IOException { final Connection connection = ctx.getConnection(); final Buffer message = ctx.getMessage(); Integer counter = invocationCounterAttr.get(connection); if (Integer.valueOf(1).equals(counter)) { assertNull(message); return ctx.getStopAction(); } else if (Integer.valueOf(2).equals(counter)) { assertNotNull(message); serverEchoCounter.addAndGet(message.remaining()); return super.handleRead(ctx); } fail("unexpected counter value: " + counter); return super.handleRead(ctx); } })
@Override public NextAction handleConnect(FilterChainContext ctx) throws IOException { connectionCounter.incrementAndGet(); touch(); return super.handleConnect(ctx); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleRead(FilterChainContext ctx) throws IOException { try { final Buffer buffer = ctx.getMessage(); final String rcvdStr = buffer.toStringContent(); final String expectedChunk = patternString.substring(bytesReceived, bytesReceived + buffer.remaining()); if (!expectedChunk.equals(rcvdStr)) { clientFuture.failure(new AssertionError("Content doesn't match. Expected: " + expectedChunk + " Got: " + rcvdStr)); } bytesReceived += buffer.remaining(); if (bytesReceived == patternString.length()) { clientFuture.result(bytesReceived); } } catch (Exception e) { clientFuture.failure(e); } return super.handleRead(ctx); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }
@Override public NextAction handleClose(FilterChainContext ctx) throws IOException { return super.handleClose(ctx); }