This is an automated email from the ASF dual-hosted git repository. johnnyv pushed a commit to branch DIRMINA-1123 in repository https://gitbox.apache.org/repos/asf/mina.git
commit f7896619542f0fd26593ddb4c5a5b57f2938f471 Author: jvalliere <john...@apache.org> AuthorDate: Wed Apr 15 17:55:57 2020 -0400 Configures the SND/RCV socket buffer before bind() --- .../mina/transport/socket/nio/NioSocketAcceptor.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java index f011ca1..5090d78 100644 --- a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java +++ b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.SocketAddress; +import java.net.StandardSocketOptions; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; @@ -40,6 +41,7 @@ import org.apache.mina.core.service.SimpleIoProcessorPool; import org.apache.mina.core.service.TransportMetadata; import org.apache.mina.transport.socket.DefaultSocketSessionConfig; import org.apache.mina.transport.socket.SocketAcceptor; +import org.apache.mina.transport.socket.SocketSessionConfig; /** * {@link IoAcceptor} for socket transport (TCP/IP). This class @@ -226,6 +228,8 @@ implements SocketAcceptor { protected ServerSocketChannel open(SocketAddress localAddress) throws Exception { // Creates the listening ServerSocket + SocketSessionConfig config = this.getSessionConfig(); + ServerSocketChannel channel = null; if (selectorProvider != null) { @@ -245,6 +249,16 @@ implements SocketAcceptor { // Set the reuseAddress flag accordingly with the setting socket.setReuseAddress(isReuseAddress()); + + // Set the SND BUFF + if (config.getSendBufferSize() != -1) { + channel.setOption(StandardSocketOptions.SO_SNDBUF, config.getSendBufferSize()); + } + + // Set the RCV BUFF + if (config.getReceiveBufferSize() != -1) { + channel.setOption(StandardSocketOptions.SO_RCVBUF, config.getReceiveBufferSize()); + } // and bind. try {