Browse Source

Merge pull request #160 from tormozok/master

FIxed Broadcast Callback
master
Nikita Koksharov 11 years ago
parent
commit
e44f52c280
  1. 10
      src/main/java/com/corundumstudio/socketio/BroadcastAckCallback.java
  2. 2
      src/main/java/com/corundumstudio/socketio/BroadcastOperations.java

10
src/main/java/com/corundumstudio/socketio/BroadcastAckCallback.java

@ -24,14 +24,20 @@ public class BroadcastAckCallback<T> {
final AtomicInteger counter = new AtomicInteger();
final AtomicBoolean successExecuted = new AtomicBoolean();
final Class<T> resultClass;
final int timeout;
public BroadcastAckCallback(Class<T> resultClass) {
public BroadcastAckCallback(Class<T> resultClass, int timeout) {
this.resultClass = resultClass;
this.timeout = timeout;
}
public BroadcastAckCallback(Class<T> resultClass) {
this(resultClass, -1);
}
final AckCallback<T> createClientCallback(final SocketIOClient client) {
counter.getAndIncrement();
return new AckCallback<T>(resultClass) {
return new AckCallback<T>(resultClass, timeout) {
@Override
public void onSuccess(T result) {
counter.getAndDecrement();

2
src/main/java/com/corundumstudio/socketio/BroadcastOperations.java

@ -104,7 +104,7 @@ public class BroadcastOperations implements ClientOperations {
public <T> void sendEvent(String name, Object data, BroadcastAckCallback<T> ackCallback) {
for (SocketIOClient client : clients) {
client.sendEvent(name, data, ackCallback.createClientCallback(client));
client.sendEvent(name, ackCallback.createClientCallback(client), data);
}
ackCallback.loopFinished();
}

Loading…
Cancel
Save