protected boolean writeBatch() { try { if (handler.getChannel().write(buffer) < 0) { if (log.isTraceEnabled()) { log.trace("Closing channel"); } inError = true; return false; } else if (buffer.hasRemaining()) { if (handler.getChannel().write(buffer) < 0) { if (log.isTraceEnabled()) { log.trace("Closing channel"); } inError = true; return false; } } } catch (IOException e) { if (Utils.isClose(e)) { log.info(String.format("closing acknowledger %s ", fsm.getName())); } else { log.warn( String.format("Unable to write batch commit acknowledgement %s", fsm.getName()), e); } error(); return false; } return !buffer.hasRemaining(); }