List of usage examples for org.apache.mina.filter.codec ProtocolCodecFilter ProtocolCodecFilter
public ProtocolCodecFilter(ProtocolEncoder<MESSAGE, ENCODED, ENCODING_STATE> encoder,
ProtocolDecoder<ENCODED, MESSAGE, DECODING_STATE> decoder)
From source file:com.betfair.cougar.netutil.nio.NioConfig.java
License:Apache License
protected void configureProtocol(BaseIoServiceConfig config, boolean isServer) throws IOException { ByteBuffer.setUseDirectBuffers(useDirectBuffersInMina); config.getFilterChain().addLast("slowHandling", new SessionWriteQueueMonitoring(nioLogger, maxWriteQueueSize)); config.getFilterChain().addLast("codec", new ProtocolCodecFilter(new CougarProtocolEncoder(nioLogger), new CougarProtocolDecoder(nioLogger))); if (isServer) { config.getFilterChain().addLast("protocol", CougarProtocol.getServerInstance(nioLogger, keepAliveInterval, keepAliveTimeout, null, false, false)); } else {//from w w w.ja v a 2 s . c o m config.getFilterChain().addLast("protocol", CougarProtocol.getClientInstance(nioLogger, keepAliveInterval, keepAliveTimeout, null, false, false, rpcTimeoutMillis)); } config.setThreadModel(ThreadModel.MANUAL); }
From source file:com.betfair.cougar.netutil.nio.TlsNioConfig.java
License:Apache License
protected void configureProtocol(BaseIoServiceConfig config, boolean isServer) throws IOException { try {//from w w w . ja va 2 s. c o m ByteBuffer.setUseDirectBuffers(isUseDirectBuffersInMina()); SslContextFactory factory = new SslContextFactory(); if (isServer) { if (supportsTls) { KeyStoreManagement keystoreMgmt = getKeystoreCertificateChains(); if (keystoreMgmt == null) { throw new IllegalStateException( "This configuration ostensibly supports TLS, yet doesn't provide valid keystore configuration"); } factory.setKeyManagerFactoryKeyStore(keystoreMgmt.getKeyStore()); factory.setKeyManagerFactoryKeyStorePassword(keystorePassword); if (wantClientAuth) { KeyStoreManagement truststoreMgmt = getTruststoreCertificateChains(); if (truststoreMgmt == null) { throw new IllegalStateException( "This configuration ostensibly supports client auth, yet doesn't provide valid truststore configuration"); } factory.setTrustManagerFactoryKeyStore(truststoreMgmt.getKeyStore()); } } } else { if (supportsTls) { KeyStoreManagement truststoreMgmt = getTruststoreCertificateChains(); if (truststoreMgmt == null) { throw new IllegalStateException( "This configuration ostensibly supports TLS, yet doesn't provide valid truststore configuration"); } factory.setTrustManagerFactoryKeyStore(truststoreMgmt.getKeyStore()); if (wantClientAuth) { KeyStoreManagement keystoreMgmt = getKeystoreCertificateChains(); if (keystoreMgmt == null) { throw new IllegalStateException( "This configuration ostensibly supports client auth, yet doesn't provide valid keystore configuration"); } factory.setKeyManagerFactoryKeyStore(keystoreMgmt.getKeyStore()); factory.setKeyManagerFactoryKeyStorePassword(keystorePassword); } } } SSLFilter sslFilter = null; if (supportsTls) { sslFilter = new SSLFilter(factory.newInstance()); sslFilter.setWantClientAuth(wantClientAuth); sslFilter.setNeedClientAuth(needClientAuth); sslFilter.setUseClientMode(!isServer); String[] cipherSuites = allowedCipherSuites == null || "".equals(allowedCipherSuites.trim()) ? null : allowedCipherSuites.split(","); if (cipherSuites != null) { sslFilter.setEnabledCipherSuites(cipherSuites); } } CougarProtocol protocol; if (isServer) { protocol = CougarProtocol.getServerInstance(getNioLogger(), getKeepAliveInterval(), getKeepAliveTimeout(), sslFilter, supportsTls, requiresTls); } else { protocol = CougarProtocol.getClientInstance(getNioLogger(), getKeepAliveInterval(), getKeepAliveTimeout(), sslFilter, supportsTls, requiresTls, getRpcTimeoutMillis()); } config.getFilterChain().addLast("slowHandling", new SessionWriteQueueMonitoring(getNioLogger(), getMaxWriteQueueSize())); config.getFilterChain().addLast("codec", new ProtocolCodecFilter( new CougarProtocolEncoder(getNioLogger()), new CougarProtocolDecoder(getNioLogger()))); config.getFilterChain().addLast("protocol", protocol); config.setThreadModel(ThreadModel.MANUAL); } catch (Exception e) { throw new IOException("Unable to initialise MINA", e); } }
From source file:com.dinstone.jrpc.transport.mina.MinaAcceptance.java
License:Apache License
@Override public MinaAcceptance bind() { // This socket acceptor will handle incoming connections acceptor = new NioSocketAcceptor(transportConfig.getNioProcessorCount()); acceptor.setReuseAddress(true);//from w ww . ja v a 2 s. co m acceptor.setBacklog(128); SocketSessionConfig sessionConfig = acceptor.getSessionConfig(); sessionConfig.setTcpNoDelay(true); // set read buffer size sessionConfig.setReceiveBufferSize(16 * 1024); sessionConfig.setSendBufferSize(16 * 1024); // get filter chain builder DefaultIoFilterChainBuilder chainBuilder = acceptor.getFilterChain(); // add message codec filter final TransportProtocolEncoder encoder = new TransportProtocolEncoder(); final TransportProtocolDecoder decoder = new TransportProtocolDecoder(); encoder.setMaxObjectSize(transportConfig.getMaxSize()); decoder.setMaxObjectSize(transportConfig.getMaxSize()); chainBuilder.addLast("codec", new ProtocolCodecFilter(encoder, decoder)); // add keep alive filter KeepAliveFilter kaFilter = new KeepAliveFilter(new PassiveKeepAliveMessageFactory(), IdleStatus.BOTH_IDLE); kaFilter.setRequestInterval(transportConfig.getHeartbeatIntervalSeconds()); kaFilter.setForwardEvent(true); chainBuilder.addLast("keepAlive", kaFilter); // add business handler acceptor.setHandler(new MinaIoHandler()); try { acceptor.bind(serviceAddress); int processorCount = transportConfig.getBusinessProcessorCount(); if (processorCount > 0) { NamedThreadFactory threadFactory = new NamedThreadFactory("Mina-BusinssProcessor"); executorService = Executors.newFixedThreadPool(processorCount, threadFactory); } } catch (Exception e) { throw new RuntimeException("can't bind service on " + serviceAddress, e); } LOG.info("mina acceptance bind on {}", serviceAddress); return this; }
From source file:com.dinstone.jrpc.transport.mina.MinaConnector.java
License:Apache License
private void initConnector(InetSocketAddress isa, TransportConfig config) { // create connector ioConnector = new NioSocketConnector(1); ioConnector.setConnectTimeoutMillis(config.getConnectTimeout()); SocketSessionConfig sessionConfig = ioConnector.getSessionConfig(); sessionConfig.setTcpNoDelay(true);/*from w w w. j a va2 s . c om*/ sessionConfig.setReceiveBufferSize(8 * 1024); sessionConfig.setSendBufferSize(8 * 1024); DefaultIoFilterChainBuilder chainBuilder = ioConnector.getFilterChain(); final TransportProtocolEncoder encoder = new TransportProtocolEncoder(); final TransportProtocolDecoder decoder = new TransportProtocolDecoder(); encoder.setMaxObjectSize(config.getMaxSize()); decoder.setMaxObjectSize(config.getMaxSize()); // add filter chainBuilder.addLast("codec", new ProtocolCodecFilter(encoder, decoder)); // add keep alive filter ActiveKeepAliveMessageFactory messageFactory = new ActiveKeepAliveMessageFactory(config.getSerializeType()); KeepAliveFilter kaFilter = new KeepAliveFilter(messageFactory, IdleStatus.BOTH_IDLE); kaFilter.setRequestInterval(config.getHeartbeatIntervalSeconds()); kaFilter.setForwardEvent(true); chainBuilder.addLast("keepAlive", kaFilter); // set handler ioConnector.setHandler(new MinaIoHandler()); ioConnector.setDefaultRemoteAddress(isa); }
From source file:com.easyway.spring.apache.tapedeck.Main.java
License:Apache License
public static void main(String[] args) throws Exception { SocketAcceptor acceptor = new NioSocketAcceptor(); acceptor.setReuseAddress(true);/*from w w w. ja v a2 s . com*/ ProtocolCodecFilter pcf = new ProtocolCodecFilter(new TextLineEncoder(), new CommandDecoder()); acceptor.getFilterChain().addLast("log1", new LoggingFilter("log1")); acceptor.getFilterChain().addLast("codec", pcf); // acceptor.getFilterChain().addLast("authentication", createAuthenticationIoFilter()); acceptor.getFilterChain().addLast("log2", new LoggingFilter("log2")); acceptor.setHandler(createIoHandler()); acceptor.bind(new InetSocketAddress(PORT)); }
From source file:com.evangel.example.tapedeck.Main.java
License:Apache License
public static void main(String[] args) throws Exception { SocketAcceptor acceptor = new NioSocketAcceptor(); acceptor.setReuseAddress(true);/*from w ww . j a v a2s . c o m*/ ProtocolCodecFilter pcf = new ProtocolCodecFilter(new TextLineEncoder(), new CommandDecoder()); acceptor.getFilterChain().addLast("log1", new LoggingFilter("log1")); acceptor.getFilterChain().addLast("codec", pcf); // acceptor.getFilterChain().addLast("authentication", // createAuthenticationIoFilter()); acceptor.getFilterChain().addLast("log2", new LoggingFilter("log2")); acceptor.setHandler(createIoHandler()); acceptor.bind(new InetSocketAddress(PORT)); }
From source file:com.fepss.rpc.client.RpcChannelImpl.java
License:Apache License
private void addProtobufCodec(DefaultIoFilterChainBuilder filterChain) { filterChain.addLast("protobuf", new ProtocolCodecFilter(new ProtobufEncoder(), new ProtobufDecoder() { @Override/*from w w w .java 2s.co m*/ protected Message.Builder newBuilder() { return RpcProtobuf.Response.newBuilder(); } })); }
From source file:com.fepss.rpc.server.impl.RpcServerImpl.java
License:Apache License
private void addProtobufCodec(DefaultIoFilterChainBuilder chain) { chain.addLast("protobuf", new ProtocolCodecFilter(new ProtobufEncoder(), new ProtobufDecoder() { @Override/*from ww w .j a va2s .c o m*/ protected Builder newBuilder() { return RpcProtobuf.Request.newBuilder(); } })); }
From source file:com.ibm.streamsx.topology.internal.tester.tcp.TCPTestClient.java
License:Open Source License
public TCPTestClient(InetSocketAddress addr) { this.addr = addr; connector.setConnectTimeoutMillis(5000); IoFilter tupleEncoder = new ProtocolCodecFilter(new TestTupleEncoder(), new TestTupleDecoder()); connector.getFilterChain().addLast("tuples", tupleEncoder); connector.setHandler(new IoHandlerAdapter()); }
From source file:com.ibm.streamsx.topology.internal.tester.tcp.TCPTestServer.java
License:Open Source License
/** * Initialize the MINA server./*w ww. j a v a 2 s .co m*/ */ public TCPTestServer(int port, IoHandler handler) throws Exception { acceptor = new NioSocketAcceptor(); IoFilter tupleEncoder = new ProtocolCodecFilter(new TestTupleEncoder(), new TestTupleDecoder()); acceptor.getFilterChain().addLast("testtuples", tupleEncoder); acceptor.setHandler(handler); // Get the bind address now so the majority of // errors are caught at initialization time. bindAddress = new InetSocketAddress(InetAddress.getLocalHost(), port); }