This is an automated email from the ASF dual-hosted git repository.

nizhikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 32026f40a96 IGNITE-28819 Thin client implementation extraction (#13306)
32026f40a96 is described below

commit 32026f40a963400e740fbb8dd02f8a7aec63d14e
Author: Nikolay <[email protected]>
AuthorDate: Thu Jul 9 17:04:27 2026 +0300

    IGNITE-28819 Thin client implementation extraction (#13306)
---
 assembly/dependencies-apache-ignite-lgpl.xml           |  1 +
 assembly/dependencies-apache-ignite-slim.xml           |  1 +
 assembly/dependencies-apache-ignite.xml                |  1 +
 modules/bom/pom.xml                                    |  5 +++++
 modules/core/pom.xml                                   |  7 +++++++
 .../internal/managers/communication/GridIoMessage.java |  9 ++++-----
 .../ignite/internal/codegen/MessageProcessorTest.java  |  4 +++-
 modules/{thin-client/impl => nio}/pom.xml              |  6 +++---
 .../communication/UnknownMessageException.java         |  0
 .../ignite/internal/processors/odbc/ClientMessage.java |  6 +++---
 .../apache/ignite/internal/processors/tracing/MTC.java |  0
 .../ignite/internal/processors/tracing/NoopSpan.java   |  0
 .../internal/processors/tracing/NoopSpanManager.java   |  0
 .../ignite/internal/processors/tracing/Span.java       |  0
 .../internal/processors/tracing/SpanManager.java       |  0
 .../ignite/internal/processors/tracing/SpanTags.java   |  0
 .../ignite/internal/processors/tracing/SpanType.java   |  0
 .../processors/tracing/messages/SpanTransport.java     |  0
 .../util/nio/GridAbstractCommunicationClient.java      |  0
 .../ignite/internal/util/nio/GridBufferedParser.java   |  0
 .../internal/util/nio/GridCommunicationClient.java     |  0
 .../util/nio/GridConnectionBytesVerifyFilter.java      |  2 +-
 .../ignite/internal/util/nio/GridDelimitedParser.java  |  0
 .../ignite/internal/util/nio/GridDirectParser.java     |  6 +++---
 .../internal/util/nio/GridNioAsyncNotifyFilter.java    |  0
 .../internal/util/nio/GridNioBackPressureControl.java  |  0
 .../ignite/internal/util/nio/GridNioCodecFilter.java   |  0
 .../internal/util/nio/GridNioDelimitedBuffer.java      |  0
 .../ignite/internal/util/nio/GridNioException.java     |  0
 .../apache/ignite/internal/util/nio/GridNioFilter.java |  0
 .../ignite/internal/util/nio/GridNioFilterAdapter.java |  0
 .../ignite/internal/util/nio/GridNioFilterChain.java   |  0
 .../ignite/internal/util/nio/GridNioKeyAttachment.java |  0
 .../internal/util/nio/GridNioMessageReaderFactory.java |  0
 .../internal/util/nio/GridNioMessageTracker.java       |  0
 .../internal/util/nio/GridNioMessageWriterFactory.java |  0
 .../apache/ignite/internal/util/nio/GridNioParser.java |  0
 .../internal/util/nio/GridNioRecoveryDescriptor.java   |  0
 .../apache/ignite/internal/util/nio/GridNioServer.java | 18 +++++++++++-------
 .../ignite/internal/util/nio/GridNioServerBuffer.java  |  0
 .../internal/util/nio/GridNioServerListener.java       |  0
 .../util/nio/GridNioServerListenerAdapter.java         |  0
 .../ignite/internal/util/nio/GridNioSession.java       |  0
 .../ignite/internal/util/nio/GridNioSessionImpl.java   |  0
 .../internal/util/nio/GridNioSessionMetaKey.java       |  0
 .../ignite/internal/util/nio/GridNioTracerFilter.java  |  0
 .../apache/ignite/internal/util/nio/GridNioWorker.java |  0
 .../internal/util/nio/GridSelectorNioSessionImpl.java  |  0
 .../util/nio/GridTcpNioCommunicationClient.java        |  0
 .../internal/util/nio/SelectedSelectionKeySet.java     |  0
 .../ignite/internal/util/nio/SessionWriteRequest.java  |  0
 .../apache/ignite/internal/util/nio/package-info.java  |  0
 .../internal/util/nio/ssl/BlockingSslHandler.java      |  0
 .../ignite/internal/util/nio/ssl/GridNioSslFilter.java |  0
 .../internal/util/nio/ssl/GridNioSslHandler.java       |  0
 .../ignite/internal/util/nio/ssl/GridSslMeta.java      |  0
 .../ignite/internal/util/nio/ssl/package-info.java     |  0
 .../plugin/extensions/communication/Message.java       |  0
 .../extensions/communication/MessageArrayType.java     |  0
 .../communication/MessageCollectionItemType.java       |  0
 .../communication/MessageCollectionType.java           |  0
 .../extensions/communication/MessageFactory.java       |  0
 .../extensions/communication/MessageMapType.java       |  0
 .../plugin/extensions/communication/MessageReader.java |  0
 .../extensions/communication/MessageSerializer.java    |  0
 .../plugin/extensions/communication/MessageType.java   |  0
 .../plugin/extensions/communication/MessageWriter.java |  0
 modules/thin-client/impl/pom.xml                       |  6 ++++++
 .../client/thin/ClientCacheEntryListenerHandler.java   |  0
 .../client/thin/ClientCacheEntryListenersRegistry.java |  0
 .../client/thin/ClientContinuousQueryCursor.java       |  0
 .../internal/client/thin/ClientServicesImpl.java       |  0
 .../internal/client/thin/ReliableChannelImpl.java      |  0
 .../ignite/internal/client/thin/TcpClientCache.java    |  0
 .../ignite/internal/client/thin/TcpIgniteClient.java   |  0
 .../thin/io/gridnioserver/GridNioClientConnection.java |  0
 .../GridNioClientConnectionMultiplexer.java            |  3 +--
 .../thin/io/gridnioserver/GridNioClientListener.java   |  0
 .../thin/io/gridnioserver/GridNioClientParser.java     |  0
 pom.xml                                                |  1 +
 80 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/assembly/dependencies-apache-ignite-lgpl.xml 
b/assembly/dependencies-apache-ignite-lgpl.xml
index 6a129564827..b6df36f14c7 100644
--- a/assembly/dependencies-apache-ignite-lgpl.xml
+++ b/assembly/dependencies-apache-ignite-lgpl.xml
@@ -120,6 +120,7 @@
                 <exclude>${project.groupId}:ignite-binary-impl</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-api</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-impl</exclude>
+                <exclude>${project.groupId}:ignite-nio</exclude>
                 <exclude>${project.groupId}:ignite-clients</exclude>
                 <exclude>${project.groupId}:ignite-spring</exclude>
                 <exclude>${project.groupId}:ignite-tools</exclude>
diff --git a/assembly/dependencies-apache-ignite-slim.xml 
b/assembly/dependencies-apache-ignite-slim.xml
index 537d5c55bea..7f71529afe6 100644
--- a/assembly/dependencies-apache-ignite-slim.xml
+++ b/assembly/dependencies-apache-ignite-slim.xml
@@ -120,6 +120,7 @@
                 <exclude>${project.groupId}:ignite-binary-impl</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-api</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-impl</exclude>
+                <exclude>${project.groupId}:ignite-nio</exclude>
                 <exclude>${project.groupId}:ignite-clients</exclude>
                 <exclude>${project.groupId}:ignite-spring</exclude>
                 <exclude>${project.groupId}:ignite-tools</exclude>
diff --git a/assembly/dependencies-apache-ignite.xml 
b/assembly/dependencies-apache-ignite.xml
index 208fbe8eda2..972c88a0cd5 100644
--- a/assembly/dependencies-apache-ignite.xml
+++ b/assembly/dependencies-apache-ignite.xml
@@ -121,6 +121,7 @@
                 <exclude>${project.groupId}:ignite-binary-impl</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-api</exclude>
                 <exclude>${project.groupId}:ignite-thin-client-impl</exclude>
+                <exclude>${project.groupId}:ignite-nio</exclude>
                 <exclude>${project.groupId}:ignite-clients</exclude>
                 <exclude>${project.groupId}:ignite-spring</exclude>
                 <exclude>${project.groupId}:ignite-tools</exclude>
diff --git a/modules/bom/pom.xml b/modules/bom/pom.xml
index 865b97ca235..b365dac6187 100644
--- a/modules/bom/pom.xml
+++ b/modules/bom/pom.xml
@@ -191,6 +191,11 @@
                 <artifactId>ignite-thin-client-impl</artifactId>
                 <version>${revision}</version>
             </dependency>
+            <dependency>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>ignite-nio</artifactId>
+                <version>${revision}</version>
+            </dependency>
             <dependency>
                 <groupId>${project.groupId}</groupId>
                 <artifactId>ignite-codegen</artifactId>
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 54de1b5d825..cb39794de74 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -87,6 +87,12 @@
             <scope>compile</scope>
         </dependency>
 
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>ignite-nio</artifactId>
+            <scope>compile</scope>
+        </dependency>
+
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>ignite-codegen</artifactId>
@@ -367,6 +373,7 @@
                                     
<include>${project.groupId}:ignite-grid-unsafe</include>
                                     
<include>${project.groupId}:ignite-thin-client-api</include>
                                     
<include>${project.groupId}:ignite-thin-client-impl</include>
+                                    
<include>${project.groupId}:ignite-nio</include>
                                 </includes>
                             </artifactSet>
                         </configuration>
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
index 1865868a71a..8296b60f81e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessage.java
@@ -24,6 +24,7 @@ import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.cache.GridCacheMessage;
 import org.apache.ignite.internal.processors.datastreamer.DataStreamerRequest;
 import org.apache.ignite.internal.processors.tracing.messages.SpanTransport;
+import org.apache.ignite.internal.util.nio.GridNioServer.MessageWrapper;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
@@ -32,7 +33,7 @@ import org.jetbrains.annotations.Nullable;
 /**
  * Wrapper for all grid messages.
  */
-public class GridIoMessage implements Message, SpanTransport {
+public class GridIoMessage implements Message, SpanTransport, MessageWrapper {
     /** */
     public static final Integer STRIPE_DISABLED_PART = Integer.MIN_VALUE;
 
@@ -125,10 +126,8 @@ public class GridIoMessage implements Message, 
SpanTransport {
         return GridTopicMessage.ordinal(topicMsg);
     }
 
-    /**
-     * @return Message.
-     */
-    public Message message() {
+    /** {@inheritDoc} */
+    @Override public Message message() {
         return msg;
     }
 
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
index 5e4fdf0b35c..8fb559b9aac 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java
@@ -39,6 +39,7 @@ import org.apache.ignite.internal.util.CommonUtils;
 import org.apache.ignite.internal.util.IgniteUtils;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
 import 
org.apache.ignite.plugin.extensions.communication.mappers.DefaultEnumMapper;
 import org.apache.ignite.transactions.TransactionIsolation;
 import org.junit.Test;
@@ -367,9 +368,10 @@ public class MessageProcessorTest {
         File igniteCodegenJar = jarForClass(Order.class);
         File igniteBinaryApiJar = jarForClass(IgniteUuid.class);
         File igniteCommonsJar = jarForClass(CommonUtils.class);
+        File igniteNioJar = jarForClass(Message.class);
 
         return Compiler.javac()
-            .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, 
igniteBinaryApiJar, igniteCommonsJar))
+            .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, 
igniteBinaryApiJar, igniteCommonsJar, igniteNioJar))
             .withProcessors(proc)
             .compile(input);
     }
diff --git a/modules/thin-client/impl/pom.xml b/modules/nio/pom.xml
similarity index 93%
copy from modules/thin-client/impl/pom.xml
copy to modules/nio/pom.xml
index 49bf4aeca4e..c6247439fee 100644
--- a/modules/thin-client/impl/pom.xml
+++ b/modules/nio/pom.xml
@@ -27,10 +27,10 @@
         <groupId>org.apache.ignite</groupId>
         <artifactId>ignite-parent-internal</artifactId>
         <version>${revision}</version>
-        <relativePath>../../../parent-internal/pom.xml</relativePath>
+        <relativePath>../../parent-internal/pom.xml</relativePath>
     </parent>
 
-    <artifactId>ignite-thin-client-impl</artifactId>
+    <artifactId>ignite-nio</artifactId>
 
     <url>http://ignite.apache.org</url>
 
@@ -49,7 +49,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-thin-client-api</artifactId>
+            <artifactId>ignite-grid-unsafe</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
similarity index 97%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
index ec592ad63f1..525dc2bf46b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
+++ 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/odbc/ClientMessage.java
@@ -23,7 +23,7 @@ import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.nio.ByteBuffer;
 import org.apache.ignite.internal.binary.streams.BinaryOutputStream;
-import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.util.CommonUtils;
 import org.apache.ignite.plugin.extensions.communication.Message;
 
 /** */
@@ -122,7 +122,7 @@ public class ClientMessage implements Message, 
Externalizable {
             cnt = -4;
 
             if (stream != null) {
-                U.closeQuiet(stream);
+                CommonUtils.closeQuiet(stream);
 
                 stream = null;
             }
@@ -212,7 +212,7 @@ public class ClientMessage implements Message, 
Externalizable {
     public byte[] payload() {
         if (stream != null) {
             data = stream.arrayCopy();
-            U.closeQuiet(stream);
+            CommonUtils.closeQuiet(stream);
             stream = null;
         }
 
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/MTC.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/MTC.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/MTC.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/MTC.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpan.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpanManager.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpanManager.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpanManager.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/NoopSpanManager.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/Span.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanManager.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanManager.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanManager.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanManager.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanTags.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanTags.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanTags.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanTags.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/SpanType.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/messages/SpanTransport.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/messages/SpanTransport.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/internal/processors/tracing/messages/SpanTransport.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/processors/tracing/messages/SpanTransport.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridBufferedParser.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridBufferedParser.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridBufferedParser.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridBufferedParser.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridCommunicationClient.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
similarity index 98%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
index 49eca090eaa..fe1c834c1d3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
+++ 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridConnectionBytesVerifyFilter.java
@@ -28,7 +28,7 @@ import org.apache.ignite.lang.IgniteInClosure;
 
 /**
  * Verifies that first bytes received in accepted (incoming)
- * NIO session are equal to {@link U#IGNITE_HEADER}.
+ * NIO session are equal to {@link CommonUtils#IGNITE_HEADER}.
  * <p>
  * First {@code CommonUtils.IGNITE_HEADER.length} bytes are consumed by this 
filter
  * and all other bytes are forwarded through chain without any modification.
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDelimitedParser.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridDelimitedParser.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDelimitedParser.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridDelimitedParser.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
similarity index 94%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
index 22601094b6d..a78a97ea37f 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
+++ 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridDirectParser.java
@@ -22,10 +22,10 @@ import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.internal.direct.DirectMessageReader;
 import org.apache.ignite.internal.util.CommonUtils;
 import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageFactory;
+import org.apache.ignite.plugin.extensions.communication.MessageReader;
 import org.apache.ignite.plugin.extensions.communication.MessageSerializer;
 import org.jetbrains.annotations.Nullable;
 
@@ -67,10 +67,10 @@ public class GridDirectParser implements GridNioParser {
     /** {@inheritDoc} */
     @Nullable @Override public Object decode(GridNioSession ses, ByteBuffer 
buf)
         throws IOException, IgniteCheckedException {
-        DirectMessageReader reader = ses.meta(READER_META_KEY);
+        MessageReader reader = ses.meta(READER_META_KEY);
 
         if (reader == null)
-            ses.addMeta(READER_META_KEY, reader = 
(DirectMessageReader)readerFactory.reader(ses, msgFactory));
+            ses.addMeta(READER_META_KEY, reader = readerFactory.reader(ses, 
msgFactory));
 
         Message msg = ses.removeMeta(MSG_META_KEY);
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioAsyncNotifyFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioAsyncNotifyFilter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioAsyncNotifyFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioAsyncNotifyFilter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioBackPressureControl.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioCodecFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioCodecFilter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioCodecFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioCodecFilter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioDelimitedBuffer.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioDelimitedBuffer.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioDelimitedBuffer.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioDelimitedBuffer.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioException.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioException.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioException.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioException.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterAdapter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterAdapter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterAdapter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterAdapter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterChain.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterChain.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterChain.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioFilterChain.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioKeyAttachment.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioKeyAttachment.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioKeyAttachment.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioKeyAttachment.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageReaderFactory.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageReaderFactory.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageReaderFactory.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageReaderFactory.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageTracker.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageWriterFactory.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageWriterFactory.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageWriterFactory.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioMessageWriterFactory.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioParser.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioParser.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioParser.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioParser.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioRecoveryDescriptor.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
similarity index 99%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index 290d115939c..fa23121fd16 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -52,10 +52,8 @@ import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteCommonsSystemProperties;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.IgniteLogger;
-import org.apache.ignite.configuration.ConnectorConfiguration;
 import org.apache.ignite.internal.IgniteInternalFuture;
 import org.apache.ignite.internal.IgniteInterruptedCheckedException;
-import org.apache.ignite.internal.managers.communication.GridIoMessage;
 import org.apache.ignite.internal.processors.odbc.ClientMessage;
 import org.apache.ignite.internal.processors.tracing.MTC;
 import org.apache.ignite.internal.processors.tracing.MTC.TraceSurroundings;
@@ -229,7 +227,7 @@ public class GridNioServer<T> {
     private volatile long writeTimeout = DFLT_SES_WRITE_TIMEOUT;
 
     /** Idle timeout. */
-    private volatile long idleTimeout = 
ConnectorConfiguration.DFLT_IDLE_TIMEOUT;
+    private volatile long idleTimeout = DFLT_IDLE_TIMEOUT;
 
     /** For test purposes only. */
     private boolean skipWrite;
@@ -2501,8 +2499,8 @@ public class GridNioServer<T> {
 
                                 Object msg = req.message();
 
-                                if (shortInfo && msg instanceof GridIoMessage)
-                                    msg = 
((GridIoMessage)msg).message().getClass().getSimpleName();
+                                if (shortInfo && msg instanceof MessageWrapper)
+                                    msg = 
((MessageWrapper)msg).message().getClass().getSimpleName();
 
                                 sb.append(msg);
 
@@ -2545,8 +2543,8 @@ public class GridNioServer<T> {
                     for (SessionWriteRequest req : ses.writeQueue()) {
                         Object msg = req.message();
 
-                        if (shortInfo && msg instanceof GridIoMessage)
-                            msg = 
((GridIoMessage)msg).message().getClass().getSimpleName();
+                        if (shortInfo && msg instanceof MessageWrapper)
+                            msg = 
((MessageWrapper)msg).message().getClass().getSimpleName();
 
                         if (cnt == 0)
                             sb.append(",\n opQueue=[").append(msg);
@@ -4621,4 +4619,10 @@ public class GridNioServer<T> {
          */
         NioOperation operation();
     }
+
+    /** */
+    public interface MessageWrapper {
+        /** */
+        public Message message();
+    }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerBuffer.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerBuffer.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerBuffer.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerBuffer.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListener.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListener.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListener.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListener.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListenerAdapter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListenerAdapter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListenerAdapter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioServerListenerAdapter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSession.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSession.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSession.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSession.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionImpl.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionImpl.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionImpl.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionImpl.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionMetaKey.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionMetaKey.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionMetaKey.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioSessionMetaKey.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioTracerFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioTracerFilter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioTracerFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioTracerFilter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioWorker.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioWorker.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioWorker.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridNioWorker.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridTcpNioCommunicationClient.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridTcpNioCommunicationClient.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridTcpNioCommunicationClient.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/GridTcpNioCommunicationClient.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/SelectedSelectionKeySet.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/SelectedSelectionKeySet.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/SelectedSelectionKeySet.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/SelectedSelectionKeySet.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/SessionWriteRequest.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/SessionWriteRequest.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/SessionWriteRequest.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/SessionWriteRequest.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/package-info.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/package-info.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/package-info.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/package-info.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/BlockingSslHandler.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/BlockingSslHandler.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/BlockingSslHandler.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/BlockingSslHandler.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslFilter.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslFilter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslFilter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslFilter.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslHandler.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslHandler.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslHandler.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridNioSslHandler.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridSslMeta.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridSslMeta.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridSslMeta.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/GridSslMeta.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/package-info.java
 
b/modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/package-info.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/util/nio/ssl/package-info.java
rename to 
modules/nio/src/main/java/org/apache/ignite/internal/util/nio/ssl/package-info.java
diff --git 
a/modules/commons/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java
similarity index 100%
rename from 
modules/commons/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageArrayType.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageArrayType.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageArrayType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageArrayType.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionItemType.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionItemType.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionItemType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionItemType.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionType.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionType.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageCollectionType.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageFactory.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageFactory.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageFactory.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageFactory.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageMapType.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageMapType.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageMapType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageMapType.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageReader.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageSerializer.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageType.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageType.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageType.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageType.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
 
b/modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
rename to 
modules/nio/src/main/java/org/apache/ignite/plugin/extensions/communication/MessageWriter.java
diff --git a/modules/thin-client/impl/pom.xml b/modules/thin-client/impl/pom.xml
index 49bf4aeca4e..d19ba53ec78 100644
--- a/modules/thin-client/impl/pom.xml
+++ b/modules/thin-client/impl/pom.xml
@@ -53,6 +53,12 @@
             <scope>provided</scope>
         </dependency>
 
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>ignite-nio</artifactId>
+            <scope>provided</scope>
+        </dependency>
+
         <dependency>
             <groupId>org.jetbrains</groupId>
             <artifactId>annotations</artifactId>
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenerHandler.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenerHandler.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenerHandler.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenerHandler.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenersRegistry.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenersRegistry.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenersRegistry.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientCacheEntryListenersRegistry.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientContinuousQueryCursor.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientContinuousQueryCursor.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientContinuousQueryCursor.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientContinuousQueryCursor.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientServicesImpl.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientServicesImpl.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/ClientServicesImpl.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ClientServicesImpl.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannelImpl.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannelImpl.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannelImpl.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/ReliableChannelImpl.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientCache.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/TcpClientCache.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpClientCache.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/TcpClientCache.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/TcpIgniteClient.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnection.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnection.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnection.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnection.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
similarity index 97%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
index a1505e9c7f1..5d157fe7251 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
+++ 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientConnectionMultiplexer.java
@@ -43,7 +43,6 @@ import org.apache.ignite.internal.util.nio.GridNioFilter;
 import org.apache.ignite.internal.util.nio.GridNioServer;
 import org.apache.ignite.internal.util.nio.GridNioSession;
 import org.apache.ignite.internal.util.nio.ssl.GridNioSslFilter;
-import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.logger.NullLogger;
 
 /**
@@ -83,7 +82,7 @@ public class GridNioClientConnectionMultiplexer implements 
ClientConnectionMulti
         sslCtx = ClientSslUtils.getSslContext(cfg);
 
         if (sslCtx != null) {
-            GridNioSslFilter sslFilter = U.sslFilter(sslCtx, true, 
ByteOrder.nativeOrder(), gridLog, null);
+            GridNioSslFilter sslFilter = new GridNioSslFilter(sslCtx, true, 
ByteOrder.nativeOrder(), gridLog, null, null);
             sslFilter.directMode(false);
             filters = new GridNioFilter[] {codecFilter, sslFilter};
         }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientListener.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientListener.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientListener.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientListener.java
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientParser.java
 
b/modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientParser.java
similarity index 100%
rename from 
modules/core/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientParser.java
rename to 
modules/thin-client/impl/src/main/java/org/apache/ignite/internal/client/thin/io/gridnioserver/GridNioClientParser.java
diff --git a/pom.xml b/pom.xml
index 428493f0eb9..d666654f037 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
         <module>modules/thin-client/api</module>
         <module>modules/thin-client/impl</module>
         <module>modules/unsafe</module>
+        <module>modules/nio</module>
         <module>modules/core</module>
         <module>modules/compress</module>
         <module>modules/dev-utils</module>

Reply via email to