@Override public String toString() { return getDelegate().toString(); }
private boolean tryFlushMessageBuffer() throws IOException { if (this.flushLock.tryLock()) { try { while (true) { WebSocketMessage<?> message = this.buffer.poll(); if (message == null || shouldNotSend()) { break; } this.bufferSize.addAndGet(-message.getPayloadLength()); this.sendStartTime = System.currentTimeMillis(); getDelegate().sendMessage(message); this.sendStartTime = 0; } } finally { this.sendStartTime = 0; this.flushLock.unlock(); } return true; } return false; }
private void sendBlockingMessage(ConcurrentWebSocketSessionDecorator session) throws InterruptedException { Executors.newSingleThreadExecutor().submit(() -> { TextMessage message = new TextMessage("slow message"); try { session.sendMessage(message); } catch (IOException e) { e.printStackTrace(); } }); BlockingSession delegate = (BlockingSession) session.getDelegate(); assertTrue(delegate.getSentMessageLatch().await(5, TimeUnit.SECONDS)); }
@Override public String toString() { return getDelegate().toString(); }
@Override public String toString() { return getDelegate().toString(); }
private boolean tryFlushMessageBuffer() throws IOException { if (this.flushLock.tryLock()) { try { while (true) { WebSocketMessage<?> message = this.buffer.poll(); if (message == null || shouldNotSend()) { break; } this.bufferSize.addAndGet(message.getPayloadLength() * -1); this.sendStartTime = System.currentTimeMillis(); getDelegate().sendMessage(message); this.sendStartTime = 0; } } finally { this.sendStartTime = 0; this.flushLock.unlock(); } return true; } return false; }
private boolean tryFlushMessageBuffer() throws IOException { if (this.flushLock.tryLock()) { try { while (true) { WebSocketMessage<?> message = this.buffer.poll(); if (message == null || shouldNotSend()) { break; } this.bufferSize.addAndGet(-message.getPayloadLength()); this.sendStartTime = System.currentTimeMillis(); getDelegate().sendMessage(message); this.sendStartTime = 0; } } finally { this.sendStartTime = 0; this.flushLock.unlock(); } return true; } return false; }