Harshvardhan Gupta
4f45e3c127
fix: make acks thread safe ( #779 )
2025-02-06 09:16:05 +01:00
Damien Arrachequesne
54645ece2c
fix: discard acknowledgements upon disconnection
...
Previously, getting disconnected while waiting for an acknowledgement
would create a memory leak, as the acknowledgement was never received
and the handler would stay in memory forever.
See also: 34cbfbb532
Related: https://github.com/socketio/socket.io-client-java/issues/446
2024-07-10 11:43:48 +02:00
Harshvardhan Gupta
b00ae8eec1
fix: make sendBuffer thread safe ( #769 )
...
Clearing the buffer upon timeout could lead to:
```
java.util.ConcurrentModificationException
at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970)
at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892)
at io.socket.client.Socket$6$1.run(Socket.java:232)
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)
```
Related:
- https://github.com/socketio/socket.io-client-java/issues/710
- https://github.com/socketio/socket.io-client-java/issues/727
- https://github.com/socketio/socket.io-client-java/pull/758
- https://github.com/socketio/socket.io-client-java/issues/759
2024-07-10 11:10:17 +02:00
Damien Arrachequesne
95ecf222d2
fix: prevent socket from reconnecting after middleware failure
...
See also: d54d12ce63
2022-07-10 22:59:57 +02:00
Damien Arrachequesne
c7d50b8ae9
feat: implement catch-all listeners
...
Syntax:
```java
socket.onAnyIncoming(new Emitter.Listener() {
@Override
public void call(Object... args) {
// ...
}
});
socket.onAnyOutgoing(new Emitter.Listener() {
@Override
public void call(Object... args) {
// ...
}
});
```
Related:
- https://github.com/socketio/engine.io-client-java/issues/99
- https://github.com/socketio/socket.io-client-java/issues/243
- https://github.com/socketio/socket.io-client-java/issues/475
2022-07-08 20:39:36 +02:00
Damien Arrachequesne
fca3b9507d
feat: emit with timeout
...
This feature allows to send a packet and expect an acknowledgement from
the server within the given delay.
Syntax:
```java
socket.emit("hello", "world", new AckWithTimeout(5000) {
@Override
public void onTimeout() {
// ...
}
@Override
public void onSuccess(Object... args) {
// ...
}
});
```
Related:
- https://github.com/socketio/socket.io-client-java/issues/309
- https://github.com/socketio/socket.io-client-java/pull/517
2022-07-08 19:46:18 +02:00
Damien Arrachequesne
d324e7f396
fix: emit a CONNECT_ERROR event upon connection failure
...
See also: 53c73749a8
2021-04-27 00:17:05 +02:00
Damien Arrachequesne
4885e7d59f
fix: ensure buffered events are sent in order
...
Before this commit, an event sent in the "connect" handler could be
sent before the events that were buffered while disconnected.
Related: https://github.com/socketio/socket.io-client/issues/1458
2021-04-27 00:12:46 +02:00
Damien Arrachequesne
48fec45740
refactor: minor cleanup
...
- replace explicit types by <>
- remove unnecessary interface modifiers
2021-04-26 11:19:02 +02:00
Damien Arrachequesne
79cb27fc97
feat: add support for Socket.IO v3
...
Including:
- 969debe88c
- 6494f61be0
- 132f8ec918
- f8f60fc860
Reference: https://github.com/socketio/socket.io-protocol#difference-between-v5-and-v4
2020-12-15 00:05:22 +01:00
Kushtrim Pacaj
54b73114d1
fix: don't process socket.connect() if we are already re-connecting ( #577 )
2020-12-10 11:47:20 +01:00
nkzawa
eeadb50aa9
clean up imports
2017-07-14 14:22:44 +09:00
nkzawa
6e5fab39de
Merge branch 'master' into fix/compatible-v2
2017-07-14 14:20:39 +09:00
nkzawa
2ec4167eb8
add tests
2017-07-14 12:40:22 +09:00
Naoyuki Kanezawa
9b5c684349
Merge pull request #423 from sergey-davydov/donotformateventdata
...
Add condition to log only if fine level is loggable
2017-07-14 11:25:20 +09:00
nkzawa
06068654c3
improve Socket#emit
2017-07-14 00:09:44 +09:00
nkzawa
4811368854
send query on connecti
2017-07-12 01:09:11 +09:00
Sergey Davydov
229a820bf5
Add condition to log only if fine level is loggable
...
Even if FINE level is not loggable String.format() works every time and
tries to format string with all the events. Sometimes it causes
OutOfMemory exceptions.
2017-05-28 13:01:18 +03:00
nkzawa
0d4d455704
add ping and pong events
2016-02-01 00:48:57 +09:00
nkzawa
599eb98c6e
fix disconnection while in opening state
2016-01-31 23:55:53 +09:00
nkzawa
4aed6c68af
don't create json array twice
2016-01-30 00:02:06 +09:00
Ciro S. Costa
f0832ffc61
Fixes event type when emitting binary_ack
...
When submitting binary data in an Ack to the server the packet's type
was not the expected (should be 6 - binary_ack - and not 3 - ack).
This commit introduces tests as well a fix for the given problem.
2016-01-27 12:11:22 -03:00
Naoyuki Kanezawa
a3f2b8cd00
Merge pull request #259 from DevFactory/release/collection-isempty-fix-1
...
Code Quality Improvement - Collection.isEmpty() should be used to test for emptiness
2015-12-18 11:51:44 +09:00
Naoyuki Kanezawa
57d8e5ebff
Merge pull request #256 from DevFactory/release/objects-should-be-compared-with-equals()-fix-1
...
Code Quality Improvement - Objects should be compared with "equals()"
2015-12-18 11:44:44 +09:00
Naoyuki Kanezawa
9b33f23875
Merge pull request #255 from DevFactory/release/exception-handlers-fix-1
...
Code Quality Improvement - Exception handlers should preserve the original exception
2015-12-18 11:42:36 +09:00
nkzawa
bc45e15d03
suppress cast warnings
2015-12-13 02:52:55 +09:00
Christian Ivan
2143774a1e
Code Quality Improvement - Exception handlers should preserve the original exception
...
Update
Update
2015-12-06 15:38:31 +07:00
Christian Ivan
eac538dfe0
Code Quality Improvement - Objects should be compared with "equals()"
...
Update
2015-12-02 23:11:17 +07:00
Christian Ivan
d364404501
Code Quality Improvement - Collection.isEmpty() should be used to test for emptiness
2015-12-02 17:17:46 +07:00
nkzawa
33a47da3f6
bump engine.io-client
2015-08-31 11:25:07 +09:00
nkzawa
d0039f7910
move package name
2015-08-31 03:23:03 +09:00