Skip to content

Commit 3985c9c

Browse files
committed
Optimize serialization when JsonNode is passed in Emit & Publish args
1 parent 3b90d17 commit 3985c9c

File tree

6 files changed

+19
-11
lines changed

6 files changed

+19
-11
lines changed

.idea/modules/SocketclusterClientJava.iml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules/SocketclusterClientJava_main.iml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules/SocketclusterClientJava_test.iml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ allprojects {
3737
...
3838
3939
dependencies {
40-
implementation 'com.github.XDex:socketcluster-client-java:2.0.1'
40+
implementation 'com.github.XDex:socketcluster-client-java:2.0.2'
4141
}
4242
```
4343

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ allprojects {
1212
}
1313

1414
group = 'com.github.XDex'
15-
version = '2.0.1'
15+
version = '2.0.2'
1616

1717
allprojects {
1818
repositories {

src/main/java/io/github/sac/Socket.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,25 +242,33 @@ public void onSendError(WebSocket websocket, WebSocketException cause, WebSocket
242242

243243
}
244244

245-
public Socket emit(final String event, final Object object) {
245+
private void setDataField(ObjectNode object, Object data) {
246+
if (data instanceof JsonNode) {
247+
object.set("data", (JsonNode) data);
248+
} else {
249+
object.putPOJO("data", data);
250+
}
251+
}
252+
253+
public Socket emit(final String event, final Object data) {
246254
EventThread.exec(new Runnable() {
247255
public void run() {
248256
ObjectNode eventObject = mapper.createObjectNode();
249257
eventObject.put("event", event);
250-
eventObject.putPOJO("data", object);
258+
setDataField(eventObject, data);
251259
send(eventObject);
252260
}
253261
});
254262
return this;
255263
}
256264

257-
public Socket emit(final String event, final Object object, final Ack ack) {
265+
public Socket emit(final String event, final Object data, final Ack ack) {
258266
EventThread.exec(new Runnable() {
259267
public void run() {
260268
ObjectNode eventObject = mapper.createObjectNode();
261269
acks.put(counter.longValue(), getAckObject(event, ack));
262270
eventObject.put("event", event);
263-
eventObject.putPOJO("data", object);
271+
setDataField(eventObject, data);
264272
eventObject.put("cid", counter.getAndIncrement());
265273
send(eventObject);
266274
}
@@ -337,7 +345,7 @@ public void run() {
337345

338346
ObjectNode dataObject = mapper.createObjectNode();
339347
dataObject.put("channel", channel);
340-
dataObject.putPOJO("data", data);
348+
setDataField(dataObject, data);
341349
publishObject.set("data", dataObject);
342350

343351
publishObject.put("cid", counter.getAndIncrement());
@@ -357,7 +365,7 @@ public void run() {
357365
ObjectNode dataObject = mapper.createObjectNode();
358366
acks.put(counter.longValue(), getAckObject(channel, ack));
359367
dataObject.put("channel", channel);
360-
dataObject.putPOJO("data", data);
368+
setDataField(dataObject, data);
361369
publishObject.set("data", dataObject);
362370

363371
publishObject.put("cid", counter.getAndIncrement());

0 commit comments

Comments
 (0)