Mikhail Petrov created IGNITE-29004:
---------------------------------------

             Summary: Refactor ClientImpl to use single instance of  
TcpDiscoveryIoSession per connection
                 Key: IGNITE-29004
                 URL: https://issues.apache.org/jira/browse/IGNITE-29004
             Project: Ignite
          Issue Type: Task
            Reporter: Mikhail Petrov


Currently, ClientImpl creates two separate sessions for a single connection to 
a server node:

- org.apache.ignite.spi.discovery.tcp.ClientImpl.SocketWriter#setSocket
- org.apache.ignite.spi.discovery.tcp.ClientImpl.SocketReader#setSocket

We need to refactor this approach so that each session corresponds to exactly 
one connection to a remote node. This will allow us to encapsulate all 
P2P-related data associated with the connection within the session instance.

This will allow us to eliminate the confusing SocketStream abstraction and rely 
solely on the session instance.

NOTE:
Currently, TcpDiscoveryIoSession is designed to be used in one direction only: 
either for reading from or writing to a socket. This is why two separate 
sessions are required on the client node side.

We need to revise this approach and make a session responsible for 
communication in both directions. This will require introducing separate 
buffers for reading from and writing to the socket.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to