From 4ee0ae0e6206f90a07f3a2269abc6c655a0289df Mon Sep 17 00:00:00 2001 From: paulpdaniels Date: Mon, 8 Sep 2014 18:06:31 -0700 Subject: Added protected API for WebSocket creation --- .../src/com/koushikdutta/async/http/server/AsyncHttpServer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'AndroidAsync') diff --git a/AndroidAsync/src/com/koushikdutta/async/http/server/AsyncHttpServer.java b/AndroidAsync/src/com/koushikdutta/async/http/server/AsyncHttpServer.java index b1b393d..4259d1d 100644 --- a/AndroidAsync/src/com/koushikdutta/async/http/server/AsyncHttpServer.java +++ b/AndroidAsync/src/com/koushikdutta/async/http/server/AsyncHttpServer.java @@ -318,11 +318,15 @@ public class AsyncHttpServer { response.end(); return; } - callback.onConnected(new WebSocketImpl(request, response), request.getHeaders()); + callback.onConnected(createWebSocket(request, response), request.getHeaders()); } }); } + protected WebSocket createWebSocket(final AsyncHttpServerRequest request, final AsyncHttpServerResponse response) { + return new WebSocketImpl(request, response); + } + public void get(String regex, HttpServerRequestCallback callback) { addAction(AsyncHttpGet.METHOD, regex, callback); } -- cgit v1.2.3 From 0b99866b2b74a37a419183e1ff4b1c59974cfa8d Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Tue, 9 Sep 2014 00:37:11 -0700 Subject: watch for selector exceptions. --- AndroidAsync/src/com/koushikdutta/async/AsyncServer.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'AndroidAsync') diff --git a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java index 450dc5b..be4a363 100644 --- a/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java +++ b/AndroidAsync/src/com/koushikdutta/async/AsyncServer.java @@ -608,6 +608,10 @@ public class AsyncServer { runLoop(server, selector, queue); } catch (ClosedSelectorException e) { + StreamUtility.closeQuietly(selector.getSelector()); + } + catch (AsyncSelectorException e) { + StreamUtility.closeQuietly(selector.getSelector()); } // see if we keep looping, this must be in a synchronized block since the queue is accessed. synchronized (server) { -- cgit v1.2.3