Skip to content

Commit

Permalink
Add ability to disable default receive buffer size in websocket server
Browse files Browse the repository at this point in the history
Signed-off-by: pwangryn <pawel.wangryn@icsec.pl>
  • Loading branch information
pwangryn committed Apr 9, 2024
1 parent 6910229 commit 665ffed
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
14 changes: 14 additions & 0 deletions src/main/java/org/java_websocket/AbstractWebSocket.java
Expand Up @@ -102,6 +102,11 @@ public abstract class AbstractWebSocket extends WebSocketAdapter {
*/
private final Object syncConnectionLost = new Object();

/**
* Attribute to disable default buffer size
*/
private boolean disableReceiveBufferSize = false;

/**
* Get the interval checking for lost connections Default is 60 seconds
*
Expand Down Expand Up @@ -336,4 +341,13 @@ public boolean isDaemon() {
public void setDaemon(boolean daemon) {
this.daemon = daemon;
}

public boolean isReceiveBufferSizeDisabled() {
return disableReceiveBufferSize;
}

public void setDisableReceiveBufferSize(boolean disableReceiveBufferSize) {
this.disableReceiveBufferSize = disableReceiveBufferSize;
}

}
4 changes: 3 additions & 1 deletion src/main/java/org/java_websocket/server/WebSocketServer.java
Expand Up @@ -578,7 +578,9 @@ private boolean doSetupSelectorAndServerThread() {
server = ServerSocketChannel.open();
server.configureBlocking(false);
ServerSocket socket = server.socket();
socket.setReceiveBufferSize(WebSocketImpl.RCVBUF);
if (!isReceiveBufferSizeDisabled()) {
socket.setReceiveBufferSize(WebSocketImpl.RCVBUF);
}
socket.setReuseAddress(isReuseAddr());
socket.bind(address, getMaxPendingConnections());
selector = Selector.open();
Expand Down

0 comments on commit 665ffed

Please sign in to comment.