if (socket!=null && key!=null) socket.getPoller().cancelledKey(key,null,false); } catch (OutOfMemoryError oom) { try {
ka = (KeyAttachment) key.attachment(); if (ka!=null) ka.setComet(false); socket.getPoller().cancelledKey(key, SocketStatus.ERROR, false); if (key!=null) { ka = (KeyAttachment) key.attachment(); socket.getPoller().cancelledKey(key, SocketStatus.DISCONNECT, false); socket.getPoller().cancelledKey(key,null,false); } catch (OutOfMemoryError oom) { try { oomParachuteData = null; socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); releaseCaches(); log.error("", oom); socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); } finally { socket = null;
protected void processKey(SelectionKey sk, NioSocketWrapper attachment) { try { if ( close ) { cancelledKey(sk); } else if ( sk.isValid() && attachment != null ) { if (sk.isReadable() || sk.isWritable() ) { cancelledKey(sk); cancelledKey(sk); cancelledKey(sk); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
File f = new File(sd.fileName); if ( !f.exists() ) { cancelledKey(sk,SocketStatus.ERROR,false); return false; log.debug("Send file connection is being closed"); cancelledKey(sk,SocketStatus.STOP,false); cancelledKey(sk,SocketStatus.ERROR,false); return false; }catch ( Throwable t ) { log.error("",t); cancelledKey(sk, SocketStatus.ERROR, false); return false; }finally {
File f = new File(sd.fileName); if ( !f.exists() ) { cancelledKey(sk,SocketStatus.ERROR,false); return false; log.debug("Send file connection is being closed"); cancelledKey(sk,SocketStatus.STOP,false); cancelledKey(sk,SocketStatus.ERROR,false); return false; }catch ( Throwable t ) { log.error("",t); cancelledKey(sk, SocketStatus.ERROR, false); return false; }finally {
KeyAttachment ka = (KeyAttachment) key.attachment(); if ( ka == null ) { cancelledKey(key, SocketStatus.ERROR,false); //we don't support any keys without attachments } else if ( ka.getError() ) { cancelledKey(key, SocketStatus.ERROR,true);//TODO this is not yet being used } else if (ka.getComet() && ka.getCometNotify() ) { ka.setCometNotify(false); key.interestOps(0); ka.interestOps(0); //avoid duplicate timeout calls cancelledKey(key, SocketStatus.TIMEOUT,true); } else if (timeout > -1) { long nextTime = now+(timeout-delta); cancelledKey(key, SocketStatus.ERROR,false);
KeyAttachment ka = (KeyAttachment) key.attachment(); if ( ka == null ) { cancelledKey(key, SocketStatus.ERROR,false); //we don't support any keys without attachments } else if ( ka.getError() ) { cancelledKey(key, SocketStatus.ERROR,true);//TODO this is not yet being used } else if (ka.getComet() && ka.getCometNotify() ) { ka.setCometNotify(false); key.interestOps(0); ka.interestOps(0); //avoid duplicate timeout calls cancelledKey(key, SocketStatus.TIMEOUT,true); } else { long nextTime = now+(timeout-delta); cancelledKey(key, SocketStatus.ERROR,false);
KeyAttachment ka = (KeyAttachment) key.attachment(); if ( ka == null ) { cancelledKey(key, SocketStatus.ERROR,false); //we don't support any keys without attachments } else if ( ka.getError() ) { cancelledKey(key, SocketStatus.ERROR,true);//TODO this is not yet being used } else if (ka.getComet() && ka.getCometNotify() ) { ka.setCometNotify(false); key.interestOps(0); ka.interestOps(0); //avoid duplicate timeout calls cancelledKey(key, SocketStatus.TIMEOUT,true); } else { long nextTime = now+(timeout-delta); cancelledKey(key, SocketStatus.ERROR,false);
try { if ( close ) { cancelledKey(sk, SocketStatus.STOP, attachment.comet); } else if ( sk.isValid() && attachment != null ) { boolean close = (!processSocket(channel, null, true)); if (close) { cancelledKey(sk,SocketStatus.DISCONNECT,false); cancelledKey(sk, SocketStatus.ERROR,false); cancelledKey(sk, SocketStatus.ERROR,false); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
try { if ( close ) { cancelledKey(sk, SocketStatus.STOP, false); } else if ( sk.isValid() && attachment != null ) { boolean close = (!processSocket(channel, null, true)); if (close) { cancelledKey(sk,SocketStatus.DISCONNECT,false); cancelledKey(sk, SocketStatus.ERROR,false); cancelledKey(sk, SocketStatus.ERROR,false); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
try { if ( close ) { cancelledKey(sk, SocketStatus.STOP, attachment.comet); } else if ( sk.isValid() && attachment != null ) { boolean close = (!processSocket(channel, null, true)); if (close) { cancelledKey(sk,SocketStatus.DISCONNECT,false); cancelledKey(sk, SocketStatus.ERROR,false); cancelledKey(sk, SocketStatus.ERROR,false); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
cancel = true; if ( cancel ) socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); }catch (CancelledKeyException ckx) { try { socket.getPoller().cancelledKey(key,SocketStatus.DISCONNECT,true); }catch (Exception ignore) {}
cancel = true; if ( cancel ) socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); }catch (CancelledKeyException ckx) { try { socket.getPoller().cancelledKey(key,SocketStatus.DISCONNECT,true); }catch (Exception ignore) {}
try { if ( close ) { cancelledKey(sk, SocketStatus.STOP, false); } else if ( sk.isValid() && attachment != null ) { boolean close = (!processSocket(channel)); if (close) { cancelledKey(sk,SocketStatus.DISCONNECT,false); cancelledKey(sk, SocketStatus.ERROR,false); cancelledKey(sk, SocketStatus.ERROR,false); } catch (Throwable t) { log.error("",t);
cancel = true; if ( cancel ) socket.getPoller().cancelledKey(key,SocketStatus.ERROR); }catch (CancelledKeyException ckx) { try { socket.getPoller().cancelledKey(key,SocketStatus.DISCONNECT); }catch (Exception ignore) {}
try { if ( close ) { cancelledKey(sk, SocketStatus.STOP); } else if ( sk.isValid() && attachment != null ) { cancelledKey(sk,SocketStatus.DISCONNECT); cancelledKey(sk, SocketStatus.ERROR); cancelledKey(sk, SocketStatus.ERROR); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
key.interestOps(ops); } else { socket.getPoller().cancelledKey(key); socket.getPoller().cancelledKey(key); } catch (Exception ignore) {}
cancel = true; if ( cancel ) socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); }catch (CancelledKeyException ckx) { try { socket.getPoller().cancelledKey(key,SocketStatus.DISCONNECT,true); }catch (Exception ignore) {}
cancel = true; if ( cancel ) socket.getPoller().cancelledKey(key,SocketStatus.ERROR,false); }catch (CancelledKeyException ckx) { try { socket.getPoller().cancelledKey(key,SocketStatus.DISCONNECT,true); }catch (Exception ignore) {}
private void close(NioChannel socket, SelectionKey key) { try { if (socket.getPoller().cancelledKey(key) != null) { // SocketWrapper (attachment) was removed from the // key - recycle the key. This can only happen once // per attempted closure so it is used to determine // whether or not to return the key to the cache. // We do NOT want to do this more than once - see BZ // 57340 / 57943. if (log.isDebugEnabled()) { log.debug("Socket: [" + socket + "] closed"); } if (running && !paused) { if (!nioChannels.push(socket)) { socket.free(); } } } } catch (Exception x) { log.error("",x); } }