Search in sources :

Example 6 with GridNioCodecFilter

use of org.apache.ignite.internal.util.nio.GridNioCodecFilter in project ignite by apache.

the class SocketStreamer method start.

/**
 * Starts streamer.
 *
 * @throws IgniteException If failed.
 */
public void start() {
    A.ensure(getSingleTupleExtractor() != null || getMultipleTupleExtractor() != null, "tupleExtractor (single or multiple)");
    A.notNull(getStreamer(), "streamer");
    A.notNull(getIgnite(), "ignite");
    A.ensure(threads > 0, "threads > 0");
    log = getIgnite().log();
    GridNioServerListener<byte[]> lsnr = new GridNioServerListenerAdapter<byte[]>() {

        @Override
        public void onConnected(GridNioSession ses) {
            assert ses.accepted();
            if (log.isDebugEnabled())
                log.debug("Accepted connection: " + ses.remoteAddress());
        }

        @Override
        public void onDisconnected(GridNioSession ses, @Nullable Exception e) {
            if (e != null)
                log.error("Connection failed with exception", e);
        }

        @Override
        public void onMessage(GridNioSession ses, byte[] msg) {
            addMessage(converter.convert(msg));
        }
    };
    ByteOrder byteOrder = ByteOrder.BIG_ENDIAN;
    GridNioParser parser = F.isEmpty(delim) ? new GridBufferedParser(directMode, byteOrder) : new GridDelimitedParser(delim, directMode);
    if (converter == null)
        converter = new DefaultConverter<>(getIgnite().name());
    GridNioFilter codec = new GridNioCodecFilter(parser, log, directMode);
    GridNioFilter[] filters = new GridNioFilter[] { codec };
    try {
        srv = new GridNioServer.Builder<byte[]>().address(addr == null ? InetAddress.getLocalHost() : addr).serverName("sock-streamer").port(port).listener(lsnr).logger(log).selectorCount(threads).byteOrder(byteOrder).filters(filters).build();
    } catch (IgniteCheckedException | UnknownHostException e) {
        throw new IgniteException(e);
    }
    srv.start();
    if (log.isDebugEnabled())
        log.debug("Socket streaming server started on " + addr + ':' + port);
}
Also used : GridBufferedParser(org.apache.ignite.internal.util.nio.GridBufferedParser) GridNioFilter(org.apache.ignite.internal.util.nio.GridNioFilter) GridNioSession(org.apache.ignite.internal.util.nio.GridNioSession) GridNioParser(org.apache.ignite.internal.util.nio.GridNioParser) UnknownHostException(java.net.UnknownHostException) ByteOrder(java.nio.ByteOrder) IgniteCheckedException(org.apache.ignite.IgniteCheckedException) IgniteException(org.apache.ignite.IgniteException) UnknownHostException(java.net.UnknownHostException) GridDelimitedParser(org.apache.ignite.internal.util.nio.GridDelimitedParser) IgniteCheckedException(org.apache.ignite.IgniteCheckedException) IgniteException(org.apache.ignite.IgniteException) GridNioCodecFilter(org.apache.ignite.internal.util.nio.GridNioCodecFilter) GridNioServerListenerAdapter(org.apache.ignite.internal.util.nio.GridNioServerListenerAdapter) Nullable(org.jetbrains.annotations.Nullable)

Example 7 with GridNioCodecFilter

use of org.apache.ignite.internal.util.nio.GridNioCodecFilter in project ignite by apache.

the class ClientTestRestServer method start.

/**
 * Starts the server.
 *
 * @throws IgniteCheckedException If failed.
 */
public void start() throws IgniteCheckedException {
    try {
        String igniteInstanceName = "test";
        srv = GridNioServer.<GridClientMessage>builder().address(InetAddress.getByName("127.0.0.1")).port(port).listener(new TestListener()).logger(log).selectorCount(2).igniteInstanceName(igniteInstanceName).byteOrder(ByteOrder.nativeOrder()).tcpNoDelay(true).directBuffer(false).filters(new GridNioAsyncNotifyFilter(igniteInstanceName, Executors.newFixedThreadPool(2), log), new GridNioCodecFilter(new TestParser(), log, false)).build();
    } catch (UnknownHostException e) {
        throw new IgniteCheckedException("Failed to determine localhost address.", e);
    }
    srv.start();
}
Also used : IgniteCheckedException(org.apache.ignite.IgniteCheckedException) UnknownHostException(java.net.UnknownHostException) GridNioCodecFilter(org.apache.ignite.internal.util.nio.GridNioCodecFilter) GridClientMessage(org.apache.ignite.internal.processors.rest.client.message.GridClientMessage) GridNioAsyncNotifyFilter(org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter)

Aggregations

IgniteCheckedException (org.apache.ignite.IgniteCheckedException)7 GridNioCodecFilter (org.apache.ignite.internal.util.nio.GridNioCodecFilter)7 GridNioFilter (org.apache.ignite.internal.util.nio.GridNioFilter)6 GridNioSession (org.apache.ignite.internal.util.nio.GridNioSession)4 GridNioSslFilter (org.apache.ignite.internal.util.nio.ssl.GridNioSslFilter)4 GridNioAsyncNotifyFilter (org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter)3 UnknownHostException (java.net.UnknownHostException)2 InetAddress (java.net.InetAddress)1 ByteOrder (java.nio.ByteOrder)1 LinkedBlockingQueue (java.util.concurrent.LinkedBlockingQueue)1 SSLContext (javax.net.ssl.SSLContext)1 SSLException (javax.net.ssl.SSLException)1 IgniteException (org.apache.ignite.IgniteException)1 IgniteConfiguration (org.apache.ignite.configuration.IgniteConfiguration)1 OdbcConfiguration (org.apache.ignite.configuration.OdbcConfiguration)1 GridClientMessage (org.apache.ignite.internal.processors.rest.client.message.GridClientMessage)1 HostAndPortRange (org.apache.ignite.internal.util.HostAndPortRange)1 IpcEndpoint (org.apache.ignite.internal.util.ipc.IpcEndpoint)1 IpcSharedMemoryServerEndpoint (org.apache.ignite.internal.util.ipc.shmem.IpcSharedMemoryServerEndpoint)1 GridBufferedParser (org.apache.ignite.internal.util.nio.GridBufferedParser)1