/** * Starts <code>SelectorHandlerRunner</code> * @param selectorHandler * @param isRunAsync if true - <code>SelectorHandlerRunner</code> will be run * in separate <code>Thread</code>, if false - in current <code>Thread</code> */ private void startSelectorHandlerRunner(SelectorHandler selectorHandler, boolean isRunAsync) { // check if there is java.nio.Selector already open, // if so, just notify the controller onReady() listeners if (selectorHandler.getSelector() != null) { notifyReady(); } Runnable selectorRunner = new SelectorHandlerRunner(this, selectorHandler); if (isRunAsync) { // if there are more than 1 selector handler - run it in separate thread //@TODO Take Thread from ThreadPool? new Thread(selectorRunner, "GrizzlySelectorRunner-" + selectorHandler.protocol()).start(); } else { // else run it in current thread selectorRunner.run(); } }
serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT); ctx.getController().notifyReady(); } catch (SocketException ex){ throw new BindException(ex.getMessage() + ": " + port + "=" + this);
ctx.getController().notifyReady(); } catch( SocketException ex ) { throw new BindException( ex.getMessage() + ": " + getPort() );
ctx.getController().notifyReady(); } catch (SocketException ex){ throw new BindException(ex.getMessage() + ": " + port);