/** * Raw frame is always whole (not partial). * * @param data serialized frame. * @return send future. */ public Future<Frame> sendRawFrame(ByteBuffer data) { lock.lock(); try { checkSendingFragment(); return send(data, null, true); } finally { lock.unlock(); } }
/** * Raw frame is always whole (not partial). * * @param data serialized frame. * @return send future. */ public Future<Frame> sendRawFrame(ByteBuffer data) { lock.lock(); try { checkSendingFragment(); return send(data, null, true); } finally { lock.unlock(); } }
public Future<Frame> send(String data) { lock.lock(); try { checkSendingFragment(); return send(new TextFrame(data, false, true)); } finally { lock.unlock(); } }
public Future<Frame> send(byte[] data) { lock.lock(); try { checkSendingFragment(); return send(new BinaryFrame(data, false, true), null, true); } finally { lock.unlock(); } }
public Future<Frame> send(String data) { lock.lock(); try { checkSendingFragment(); return send(new TextFrame(data, false, true)); } finally { lock.unlock(); } }
public Future<Frame> send(byte[] data) { lock.lock(); try { checkSendingFragment(); return send(new BinaryFrame(data, false, true), null, true); } finally { lock.unlock(); } }
public void send(final String data, final SendHandler handler) { lock.lock(); try { checkSendingFragment(); send(new TextFrame(data, false, true), new CompletionHandler<Frame>() { @Override public void failed(Throwable throwable) { handler.onResult(new SendResult(throwable)); } @Override public void completed(Frame result) { handler.onResult(new SendResult()); } }, true); } finally { lock.unlock(); } }
public void send(final byte[] data, final SendHandler handler) { lock.lock(); try { checkSendingFragment(); send(new BinaryFrame(data, false, true), new CompletionHandler<Frame>() { @Override public void failed(Throwable throwable) { handler.onResult(new SendResult(throwable)); } @Override public void completed(Frame result) { handler.onResult(new SendResult()); } }, true); } finally { lock.unlock(); } }
public void send(final String data, final SendHandler handler) { lock.lock(); try { checkSendingFragment(); send(new TextFrame(data, false, true), new CompletionHandler<Frame>() { @Override public void failed(Throwable throwable) { handler.onResult(new SendResult(throwable)); } @Override public void completed(Frame result) { handler.onResult(new SendResult()); } }, true); } finally { lock.unlock(); } }
public void send(final byte[] data, final SendHandler handler) { lock.lock(); try { checkSendingFragment(); send(new BinaryFrame(data, false, true), new CompletionHandler<Frame>() { @Override public void failed(Throwable throwable) { handler.onResult(new SendResult(throwable)); } @Override public void completed(Frame result) { handler.onResult(new SendResult()); } }, true); } finally { lock.unlock(); } }
public Future<Frame> stream(boolean last, byte[] bytes, int off, int len) { lock.lock(); try { switch (sendingFragment) { case SENDING_BINARY: Future<Frame> frameFuture = send( new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), true, last)); if (last) { sendingFragment = SendingFragmentState.IDLE; idleCondition.signalAll(); } return frameFuture; case SENDING_TEXT: checkSendingFragment(); sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_BINARY); return send(new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), false, last)); default: // IDLE sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_BINARY); return send(new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), false, last)); } } finally { lock.unlock(); } }
public Future<Frame> stream(boolean last, byte[] bytes, int off, int len) { lock.lock(); try { switch (sendingFragment) { case SENDING_BINARY: Future<Frame> frameFuture = send( new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), true, last)); if (last) { sendingFragment = SendingFragmentState.IDLE; idleCondition.signalAll(); } return frameFuture; case SENDING_TEXT: checkSendingFragment(); sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_BINARY); return send(new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), false, last)); default: // IDLE sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_BINARY); return send(new BinaryFrame(Arrays.copyOfRange(bytes, off, off + len), false, last)); } } finally { lock.unlock(); } }
public Future<Frame> stream(boolean last, String fragment) { lock.lock(); try { switch (sendingFragment) { case SENDING_TEXT: Future<Frame> frameFuture = send(new TextFrame(fragment, true, last)); if (last) { sendingFragment = SendingFragmentState.IDLE; idleCondition.signalAll(); } return frameFuture; case SENDING_BINARY: checkSendingFragment(); sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_TEXT); return send(new TextFrame(fragment, false, last)); default: // IDLE sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_TEXT); return send(new TextFrame(fragment, false, last)); } } finally { lock.unlock(); } }
public Future<Frame> stream(boolean last, String fragment) { lock.lock(); try { switch (sendingFragment) { case SENDING_TEXT: Future<Frame> frameFuture = send(new TextFrame(fragment, true, last)); if (last) { sendingFragment = SendingFragmentState.IDLE; idleCondition.signalAll(); } return frameFuture; case SENDING_BINARY: checkSendingFragment(); sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_TEXT); return send(new TextFrame(fragment, false, last)); default: // IDLE sendingFragment = (last ? SendingFragmentState.IDLE : SendingFragmentState.SENDING_TEXT); return send(new TextFrame(fragment, false, last)); } } finally { lock.unlock(); } }