diff --git a/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java b/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java index 329448eb0..7dc37c2df 100644 --- a/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java +++ b/fine-socketio/src/com/fr/third/socketio/SocketIOServer.java @@ -39,6 +39,7 @@ import java.util.Collection; import java.util.UUID; import java.util.concurrent.TimeUnit; +import io.netty.util.concurrent.GenericFutureListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -135,13 +136,37 @@ public class SocketIOServer implements ClientListeners { startAsync().syncUninterruptibly(); } - + + public void start(GenericFutureListener> listener) { + startAsync(listener).syncUninterruptibly(); + } + /** * Start server asynchronously * * @return void */ public Future startAsync() { + return startAsync(new FutureListener() { + + @Override + public void operationComplete(Future future) throws Exception { + + if (future.isSuccess()) { + log.info("SocketIO server started at port: {}", configCopy.getPort()); + } else { + log.error("SocketIO server start failed at port: {}!", configCopy.getPort()); + } + } + }); + } + + /** + * Start server asynchronously + * + * @return void + */ + public Future startAsync(GenericFutureListener> listener) { log.info("Session store / pubsub factory used: {}", configCopy.getStoreFactory()); initGroups(); @@ -164,18 +189,7 @@ public class SocketIOServer implements ClientListeners { addr = new InetSocketAddress(configCopy.getHostname(), configCopy.getPort()); } - return b.bind(addr).addListener(new FutureListener() { - - @Override - public void operationComplete(Future future) throws Exception { - - if (future.isSuccess()) { - log.info("SocketIO server started at port: {}", configCopy.getPort()); - } else { - log.error("SocketIO server start failed at port: {}!", configCopy.getPort()); - } - } - }); + return b.bind(addr).addListener(listener); } protected void applyConnectionOptions(ServerBootstrap bootstrap) {