@ChannelPipelineCoverage("one") public class ProxyEncoder extends SimpleChannelUpstreamHandler { private final RtmpEncoder encoder = new RtmpEncoder(); @Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent e) throws Exception { Channels.fireMessageReceived(ctx, encoder.encode((RtmpMessage) e.getMessage())); } }
@ChannelPipelineCoverage("one") public class ProxyEncoder extends SimpleChannelUpstreamHandler { private final RtmpEncoder encoder = new RtmpEncoder(); @Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent e) throws Exception { Channels.fireMessageReceived(ctx, encoder.encode((RtmpMessage) e.getMessage())); } }
@ChannelPipelineCoverage("one") public class ProxyHandshakeHandler extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(ProxyHandshakeHandler.class); private int bytesWritten; private boolean handshakeDone; @Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent e) throws Exception { final ChannelBuffer in = (ChannelBuffer) e.getMessage(); bytesWritten += in.readableBytes(); if(!handshakeDone && bytesWritten >= 3073) { final int remaining = bytesWritten - 3073; if(remaining > 0) { Channels.fireMessageReceived(ctx, in.readBytes(remaining)); } handshakeDone = true; logger.debug("bytes written {}, handshake complete, switching pipeline", bytesWritten); ctx.getPipeline().addFirst("encoder", new ProxyEncoder()); ctx.getPipeline().addFirst("decoder", new RtmpDecoder()); ctx.getPipeline().remove(this); } super.messageReceived(ctx, e); } }
@ChannelPipelineCoverage("one") private class OutboundHandler extends SimpleChannelUpstreamHandler { private final Channel inboundChannel; public OutboundHandler(Channel inboundChannel) { logger.info("opening outbound channel"); this.inboundChannel = inboundChannel; } @Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) { ChannelBuffer in = (ChannelBuffer) e.getMessage(); // logger.debug("<<< [{}] {}", in.readableBytes(), ChannelBuffers.hexDump(in)); inboundChannel.write(in); } @Override public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) { logger.info("closing outbound channel"); closeOnFlush(inboundChannel); } @Override public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) { logger.info("outbound exception: {}", e.getCause().getMessage()); closeOnFlush(e.getChannel()); } }
@ChannelPipelineCoverage("one") private class OutboundHandler extends SimpleChannelUpstreamHandler { private final Channel inboundChannel; public OutboundHandler(Channel inboundChannel) { logger.info("opening outbound channel"); this.inboundChannel = inboundChannel; } @Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) { ChannelBuffer in = (ChannelBuffer) e.getMessage(); // logger.debug("<<< [{}] {}", in.readableBytes(), ChannelBuffers.hexDump(in)); inboundChannel.write(in); } @Override public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) { logger.info("closing outbound channel"); closeOnFlush(inboundChannel); } @Override public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) { logger.info("outbound exception: {}", e.getCause().getMessage()); closeOnFlush(e.getChannel()); } }
@ChannelPipelineCoverage("one") public class ProxyHandshakeHandler extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(ProxyHandshakeHandler.class); private int bytesWritten; private boolean handshakeDone; @Override public void messageReceived(final ChannelHandlerContext ctx, final MessageEvent e) throws Exception { final ChannelBuffer in = (ChannelBuffer) e.getMessage(); bytesWritten += in.readableBytes(); if(!handshakeDone && bytesWritten >= 3073) { final int remaining = bytesWritten - 3073; if(remaining > 0) { Channels.fireMessageReceived(ctx, in.readBytes(remaining)); } handshakeDone = true; logger.debug("bytes written {}, handshake complete, switching pipeline", bytesWritten); ctx.getPipeline().addFirst("encoder", new ProxyEncoder()); ctx.getPipeline().addFirst("decoder", new RtmpDecoder()); ctx.getPipeline().remove(this); } super.messageReceived(ctx, e); } }
@ChannelPipelineCoverage("one") public class SmppSessionThreadRenamer implements ChannelUpstreamHandler {
@ChannelPipelineCoverage("one") public class SmppSessionThreadRenamer implements ChannelUpstreamHandler {
@ChannelPipelineCoverage("one") public class SmppSessionThreadRenamer implements ChannelUpstreamHandler {
@ChannelPipelineCoverage("one") public class SmppSessionThreadRenamer implements ChannelUpstreamHandler {
@ChannelPipelineCoverage("all") public class SmppClientConnector extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(SmppClientConnector.class);
@ChannelPipelineCoverage("all") public class SmppClientConnector extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(SmppClientConnector.class);
@ChannelPipelineCoverage("one") public class SmppSessionWrapper extends SimpleChannelHandler { private static final Logger logger = LoggerFactory.getLogger(SmppSessionWrapper.class);
@ChannelPipelineCoverage("all") public class SmppClientConnector extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(SmppClientConnector.class);
@ChannelPipelineCoverage("all") public class SmppClientConnector extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(SmppClientConnector.class);
@ChannelPipelineCoverage("all") public class SmppServerConnector extends SimpleChannelUpstreamHandler { private static final Logger logger = LoggerFactory.getLogger(SmppServerConnector.class);
@ChannelPipelineCoverage("one") public class NettyRpcClientChannelUpstreamHandler extends SimpleChannelUpstreamHandler {
@ChannelPipelineCoverage("one") public class SmppSessionWrapper extends SimpleChannelHandler { private static final Logger logger = LoggerFactory.getLogger(SmppSessionWrapper.class);
@ChannelPipelineCoverage("one") public class SmppSessionWrapper extends SimpleChannelHandler { private static final Logger logger = LoggerFactory.getLogger(SmppSessionWrapper.class);
@ChannelPipelineCoverage("one") public class SmppSessionWrapper extends SimpleChannelHandler { private static final Logger logger = LoggerFactory.getLogger(SmppSessionWrapper.class);