@Override public synchronized void flush() throws IOException { if (lastWriteFuture == null) { return; } lastWriteFuture.awaitUninterruptibly(); if (!lastWriteFuture.isWritten()) { throw new IOException( "The bytes could not be written to the session"); } } }
@Override public synchronized void flush() throws IOException { if (lastWriteFuture == null) { return; } lastWriteFuture.awaitUninterruptibly(); if (!lastWriteFuture.isWritten()) { throw new IOException("The bytes could not be written to the session"); } } }
@Override public synchronized void flush() throws IOException { if (lastWriteFuture == null) { return; } lastWriteFuture.awaitUninterruptibly(); if (!lastWriteFuture.isWritten()) { throw new IOException("The bytes could not be written to the session"); } } }
@Override public synchronized void flush() throws IOException { if (lastWriteFuture == null) { return; } lastWriteFuture.awaitUninterruptibly(); if (!lastWriteFuture.isWritten()) { throw new IOException( "The bytes could not be written to the session"); } } }
@Override public synchronized void flush() throws IOException { if (lastWriteFuture == null) { return; } lastWriteFuture.awaitUninterruptibly(); if (!lastWriteFuture.isWritten()) { throw new IOException( "The bytes could not be written to the session"); } } }
@Override public void send(TaskInvocation task) { connect(); WriteFuture future = session.write(task); future.awaitUninterruptibly(); }
@Override public boolean send(String data) { // Check for and disconnect slow consumers. if (maxScheduledWriteRequests > 0 && ioSession.getScheduledWriteMessages() >= maxScheduledWriteRequests) { Session qfjSession = (Session) ioSession.getAttribute(SessionConnector.QF_SESSION); try { qfjSession.disconnect("Slow consumer", true); } catch (IOException e) { } return false; } // The data is written asynchronously in a MINA thread WriteFuture future = ioSession.write(data); if (synchronousWrites) { try { if (!future.awaitUninterruptibly(synchronousWriteTimeout)) { log.error("Synchronous write timed out after {}ms", synchronousWriteTimeout); return false; } } catch (RuntimeException e) { log.error("Synchronous write failed: {}", e.getMessage()); return false; } } return true; }
@Override public boolean send(String data) { // Check for and disconnect slow consumers. if (maxScheduledWriteRequests > 0 && ioSession.getScheduledWriteMessages() >= maxScheduledWriteRequests) { Session qfjSession = (Session) ioSession.getAttribute(SessionConnector.QF_SESSION); try { qfjSession.disconnect("Slow consumer", true); } catch (IOException e) { } return false; } // The data is written asynchronously in a MINA thread WriteFuture future = ioSession.write(data); if (synchronousWrites) { try { if (!future.awaitUninterruptibly(synchronousWriteTimeout)) { log.error("Synchronous write timed out after {}ms", synchronousWriteTimeout); return false; } } catch (RuntimeException e) { log.error("Synchronous write failed: {}", e.getMessage()); return false; } } return true; }
@Override public boolean send(String data) { // Check for and disconnect slow consumers. if (maxScheduledWriteRequests > 0 && ioSession.getScheduledWriteMessages() >= maxScheduledWriteRequests) { Session qfjSession = (Session) ioSession.getAttribute(SessionConnector.QF_SESSION); try { qfjSession.disconnect("Slow consumer", true); } catch (IOException e) { } return false; } // The data is written asynchronously in a MINA thread WriteFuture future = ioSession.write(data); if (synchronousWrites) { try { if (!future.awaitUninterruptibly(synchronousWriteTimeout)) { log.error("Synchronous write timed out after " + synchronousWriteTimeout + "ms"); return false; } } catch (RuntimeException e) { log.error("Synchronous write failed: " + e.getMessage()); return false; } } return true; }
/** * 发送 * @param message * @return */ public boolean sendMessage(String message){ if (ioSession==null || !ioSession.isConnected()){ return false; } WriteFuture writeFuture=ioSession.write(message); if (writeFuture==null){ return false; } writeFuture.awaitUninterruptibly(); if (writeFuture.isWritten()){ return true; } else { return false; } } }
/** * Sends a successful response. * * @param requestor the session of the requestor * @param messageId the message id associaed with this shutdown request */ public static void sendShutdownResponse( IoSession requestor, int messageId ) { GracefulShutdownResponse msg = new GracefulShutdownResponseImpl( messageId, ResultCodeEnum.SUCCESS ); WriteFuture future = requestor.write( msg ); future.awaitUninterruptibly(); if ( future.isWritten() ) { if ( LOG.isInfoEnabled() ) { LOG.info( "Sent GracefulShutdownResponse to client: " + requestor.getRemoteAddress() ); } } else { LOG.error( I18n.err( I18n.ERR_159, requestor.getRemoteAddress() ) ); } requestor.close( true ); }
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )
if ( !writeFuture.awaitUninterruptibly( getTimeout( 0 ) ) )