Skip to content

Commit 3702211

Browse files
committed
better ws support for large messages
1 parent e74cd4f commit 3702211

File tree

2 files changed

+3
-10
lines changed

2 files changed

+3
-10
lines changed

src/sdk/src/main/java/com/sportradar/mbs/sdk/internal/connection/WebSocketConnection.java

+2-9
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@
88
import com.sportradar.mbs.sdk.internal.connection.msg.base.WsInputMessage;
99
import com.sportradar.mbs.sdk.internal.connection.msg.base.WsOutputMessage;
1010
import org.java_websocket.client.WebSocketClient;
11-
import org.java_websocket.framing.Framedata;
12-
import org.java_websocket.framing.TextFrame;
11+
import org.java_websocket.enums.Opcode;
1312
import org.java_websocket.handshake.ServerHandshake;
1413

1514
import java.net.URI;
1615
import java.nio.ByteBuffer;
17-
import java.util.ArrayList;
1816
import java.util.HashMap;
1917
import java.util.List;
2018
import java.util.Map;
@@ -102,14 +100,9 @@ private void sendLoop() {
102100
}
103101

104102
private void sendMsg(final WebSocket ws, final List<ByteBuffer> msgs) {
105-
final List<Framedata> frames = new ArrayList<>();
106103
for (int i = 0; i < msgs.size(); i++) {
107-
final TextFrame frame = new TextFrame();
108-
frame.setPayload(msgs.get(i));
109-
frame.setFin(i == msgs.size() - 1);
110-
frames.add(frame);
104+
ws.sendFragmentedFrame(Opcode.TEXT, msgs.get(i), i == (msgs.size() - 1));
111105
}
112-
ws.sendFrame(frames);
113106
}
114107

115108
private void reconnectWebSocket(final WebSocket ws, final boolean throwExc) {

src/sdk/src/main/java/com/sportradar/mbs/sdk/internal/protocol/ProtocolEngine.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ private List<ByteBuffer> createFrames(final Request request) throws JsonProcessi
147147
int offset = 0;
148148
while (offset < bytes.length) {
149149
final int chunkSize = Math.min(bytes.length - offset, MAX_CHUNK_SIZE);
150-
final ByteBuffer buffer = ByteBuffer.wrap(bytes, offset, offset + chunkSize);
150+
final ByteBuffer buffer = ByteBuffer.wrap(bytes, offset, chunkSize);
151151
result.add(buffer);
152152
offset += chunkSize;
153153
}

0 commit comments

Comments
 (0)