@Override public void run() { try { barrier.await(); pw.sendStreamElement(new Message()); // should only return after the pw was interrupted if (!shutdown) { prematureUnblocked = true; } } catch (Exception e) { } try { barrier.await(); } catch (InterruptedException | BrokenBarrierException e) { } } });
pw.sendStreamElement(new Message());
private void requestSmAcknowledgementInternal() throws NotConnectedException, InterruptedException { packetWriter.sendStreamElement(AckRequest.INSTANCE); }
private void sendSmAcknowledgementInternal() throws NotConnectedException, InterruptedException { packetWriter.sendStreamElement(new AckAnswer(clientHandledStanzasCount)); }
@Override public void sendNonza(Nonza element) throws NotConnectedException, InterruptedException { packetWriter.sendStreamElement(element); }
@Override protected void sendStanzaInternal(Stanza packet) throws NotConnectedException, InterruptedException { packetWriter.sendStreamElement(packet); if (isSmEnabled()) { for (StanzaFilter requestAckPredicate : requestAckPredicates) { if (requestAckPredicate.accept(packet)) { requestSmAcknowledgementInternal(); break; } } } }