private IOException overrun() { try { return new IOException("Maximum message size overrun"); } finally { cancel(); } }
public void write(final byte[] b) throws IOException { try { write(b, 0, b.length); } catch (IOException e) { cancel(); throw e; } }
public void flush() throws IOException { try { pipeOutputStream.flush(); } catch (IOException e) { cancel(); throw e; } }
public void close() throws IOException { try { synchronized (pipeOutputStream) { pipeOutputStream.notifyAll(); pipeOutputStream.close(); } } catch (IOException e) { cancel(); throw e; } }
public void write(final int b) throws IOException { try { if (remaining > 1) { pipeOutputStream.write(b); remaining--; } else { throw overrun(); } } catch (IOException e) { cancel(); throw e; } }
public void write(final byte[] b, final int off, final int len) throws IOException { try { if ((long) len > remaining) { throw overrun(); } pipeOutputStream.write(b, off, len); remaining -= len; } catch (IOException e) { cancel(); throw e; } }
private void closeMessages() { final List<InboundMessage> exceptionMessages; final List<OutboundMessage> cancelMessages; final List<InboundMessage> terminateMessages; synchronized (connection.getLock()) { exceptionMessages = new ArrayList<InboundMessage>(inboundMessages); cancelMessages = new ArrayList<OutboundMessage>(outboundMessages); terminateMessages = new ArrayList<InboundMessage>(inboundMessageQueue); inboundMessageQueue.clear(); } for (final InboundMessage message : exceptionMessages) { message.inputStream.pushException(new MessageCancelledException()); } for (final OutboundMessage message : cancelMessages) { message.cancel(); } for (final InboundMessage message : terminateMessages) { message.terminate(); } }
public void run() { message.cancel(); } });
private IOException overrun() { try { return new IOException("Maximum message size overrun"); } finally { cancel(); } }
private IOException overrun() { try { return new IOException("Maximum message size overrun"); } finally { cancel(); } }
public void close() throws IOException { try { synchronized (pipeOutputStream) { pipeOutputStream.notifyAll(); pipeOutputStream.close(); } } catch (IOException e) { cancel(); throw e; } }
public void write(final byte[] b) throws IOException { try { write(b, 0, b.length); } catch (IOException e) { cancel(); throw e; } }
public void flush() throws IOException { try { pipeOutputStream.flush(); } catch (IOException e) { cancel(); throw e; } }
public void write(final byte[] b, final int off, final int len) throws IOException { try { if ((long) len > remaining) { throw overrun(); } pipeOutputStream.write(b, off, len); remaining -= len; } catch (IOException e) { cancel(); throw e; } }
public void write(final int b) throws IOException { try { if (remaining > 1) { pipeOutputStream.write(b); remaining--; } else { throw overrun(); } } catch (IOException e) { cancel(); throw e; } }
private void closeMessages() { final List<InboundMessage> exceptionMessages; final List<OutboundMessage> cancelMessages; final List<InboundMessage> terminateMessages; synchronized (connection.getLock()) { exceptionMessages = new ArrayList<InboundMessage>(inboundMessages); cancelMessages = new ArrayList<OutboundMessage>(outboundMessages); terminateMessages = new ArrayList<InboundMessage>(inboundMessageQueue); inboundMessageQueue.clear(); } for (final InboundMessage message : exceptionMessages) { message.inputStream.pushException(new MessageCancelledException()); } for (final OutboundMessage message : cancelMessages) { message.cancel(); } for (final InboundMessage message : terminateMessages) { message.terminate(); } }