/** * Marks this message as canceled. * Not part of the fluent API. * * @param canceled if canceled */ public void setCanceled(boolean canceled) { this.canceled = canceled; if (canceled) for (MessageObserver handler:getMessageObservers()) handler.onCancel(); }
/** * Marks this message as acknowledged. * Not part of the fluent API. * * @param acknowledged if acknowledged */ public void setAcknowledged(boolean acknowledged) { this.acknowledged = acknowledged; if (acknowledged) for (MessageObserver handler:getMessageObservers()) handler.onAcknowledgement(); }
/** * Marks this message as rejected. * Not part of the fluent API. * * @param rejected if rejected */ public void setRejected(boolean rejected) { this.rejected = rejected; if (rejected) for (MessageObserver handler:getMessageObservers()) handler.onReject(); }
/** * Notifies all registered {@code MessageObserver}s that this message * is about to be re-transmitted. */ public void retransmitting() { for (MessageObserver observer : getMessageObservers()) { try { // guard against faulty MessageObservers observer.onRetransmission(); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Faulty MessageObserver for retransmitting events.", e); } } }
/** * Marks this message as timed out. Confirmable messages in particular might * time out. * * @param timedOut {@code true} if timed out */ public void setTimedOut(final boolean timedOut) { this.timedOut = timedOut; if (timedOut) { for (MessageObserver observer : getMessageObservers()) { observer.onTimeout(); } } }
/** * Sets the response. * * @param response * the new response */ public void setResponse(Response response) { synchronized (this) { this.response = response; notifyAll(); } for (MessageObserver handler : getMessageObservers()) { handler.onResponse(response); } }
/** * Notifies all registered {@code MessageObserver}s that this message * is about to be re-transmitted. */ public void retransmitting() { for (MessageObserver observer : getMessageObservers()) { try { // guard against faulty MessageObservers observer.onRetransmission(); } catch (Exception e) { LOGGER.log(Level.SEVERE, "Faulty MessageObserver for retransmitting events.", e); } } }
/** * Marks this message as timed out. Confirmable messages in particular might * time out. * * @param timedOut {@code true} if timed out */ public void setTimedOut(final boolean timedOut) { this.timedOut = timedOut; if (timedOut) { for (MessageObserver observer : getMessageObservers()) { observer.onTimeout(); } } }
/** * Sets the response. * <p> * Also notifies waiting threads and invokes this request's registered * @code MessageHandler}s <em>onResponse</em> method with the response. * </p> * @param response * the new response */ public void setResponse(Response response) { synchronized (this) { this.response = response; notifyAll(); } for (MessageObserver handler : getMessageObservers()) { handler.onResponse(response); } }
/** * Marks this message as canceled. * Not part of the fluent API. * * @param canceled if canceled */ public void setCanceled(boolean canceled) { this.canceled = canceled; if (canceled) { for (MessageObserver handler:getMessageObservers()) { handler.onCancel(); } } }
/** * Marks this message as rejected. * Not part of the fluent API. * * @param rejected if rejected */ public void setRejected(boolean rejected) { this.rejected = rejected; if (rejected) for (MessageObserver handler:getMessageObservers()) handler.onReject(); }
/** * Marks this message as acknowledged. * Not part of the fluent API. * * @param acknowledged if acknowledged */ public void setAcknowledged(boolean acknowledged) { this.acknowledged = acknowledged; if (acknowledged) for (MessageObserver handler:getMessageObservers()) handler.onAcknowledgement(); }
/** * Verifies that a request for a resource with a body exceeding the max buffer size is * cancelled when the first response block is received. */ @Test public void testReceiveResponseCancelsRequestForExcessiveResponseBody() { NetworkConfig config = NetworkConfig.createStandardWithoutFile() .setInt(Keys.MAX_MESSAGE_SIZE, 128) .setInt(Keys.MAX_RESOURCE_BODY_SIZE, 200); MessageObserver requestObserver = mock(MessageObserver.class); BlockwiseLayer blockwiseLayer = new BlockwiseLayer(config); Request req = Request.newGet(); req.setURI("coap://127.0.0.1/bigResource"); req.addMessageObserver(requestObserver); Response response = Response.createResponse(req, ResponseCode.CONTENT); response.getOptions().setSize2(256).setBlock2(BlockOption.size2Szx(64), true, 0); Exchange exchange = new Exchange(null, Origin.LOCAL); exchange.setRequest(req); blockwiseLayer.receiveResponse(exchange, response); verify(requestObserver).onCancel(); }