Supporting socket channels will allow better concurrent access to the socket's backing data stream. We can better support asynchronous workflows by providing a non-blocking mechanism for reads and writes.
To complete this, an end user should be able to:
Have access to a comparable SocketChannel / NativeSocketChannel implementation that closely mirrors our blocking socket behavior,
Use a ServerSocketChannel in a similar manner to a ServerSocket (Java17+)
We anticipate that Java 21, with the introduction of virtual threads, will impact our approach to solving this issue. See: https://openjdk.org/projects/jdk/21/
Supporting socket channels will allow better concurrent access to the socket's backing data stream. We can better support asynchronous workflows by providing a non-blocking mechanism for reads and writes.
To complete this, an end user should be able to:
SocketChannel
/NativeSocketChannel
implementation that closely mirrors our blocking socket behavior,ServerSocketChannel
in a similar manner to aServerSocket
(Java17+)