use of org.eclipse.californium.core.coap.CoAP in project thingsboard by thingsboard.
the class NoSecObserveClient method start.
public void start() {
executor.submit(() -> {
try {
Request request = Request.newGet();
request.setObserve();
observeRelation = coapClient.observe(request, new CoapHandler() {
@Override
public void onLoad(CoapResponse response) {
String responseText = response.getResponseText();
CoAP.ResponseCode code = response.getCode();
Integer observe = response.getOptions().getObserve();
log.info("CoAP Response received! " + "responseText: {}, " + "code: {}, " + "observe seq number: {}", responseText, code, observe);
latch.countDown();
}
@Override
public void onError() {
log.error("Ack error!");
latch.countDown();
}
});
} catch (Exception e) {
log.error("Error occurred while sending COAP requests: ");
}
});
try {
latch.await();
observeRelation.proactiveCancel();
} catch (InterruptedException e) {
log.error("Error occurred: ", e);
}
}
use of org.eclipse.californium.core.coap.CoAP in project hono by eclipse.
the class AbstractVertxBasedCoapAdapter method createServer.
private Future<CoapServer> createServer() {
if (endpointFactory == null) {
return Future.failedFuture(new IllegalStateException("coapEndpointFactory property must be set if no CoAP server is set explicitly"));
}
log.info("creating new CoAP server");
final CoapServer newServer = new CoapServer(NetworkConfig.createStandardWithoutFile());
final Future<Endpoint> secureEndpointFuture = endpointFactory.getSecureEndpoint().onFailure(t -> log.info("not creating secure endpoint: {}", t.getMessage())).map(ep -> {
newServer.addEndpoint(ep);
this.secureEndpoint = ep;
return ep;
});
final Future<Endpoint> insecureEndpointFuture = endpointFactory.getInsecureEndpoint().onFailure(t -> log.info("not creating insecure endpoint: {}", t.getMessage())).map(ep -> {
newServer.addEndpoint(ep);
this.insecureEndpoint = ep;
return ep;
});
return CompositeFuture.any(insecureEndpointFuture, secureEndpointFuture).map(ok -> {
this.server = newServer;
return newServer;
});
}
use of org.eclipse.californium.core.coap.CoAP in project hono by eclipse.
the class TracingSupportingHonoResourceTest method testUnsupportedRequestCodesResultInMethodNotAllowed.
/**
* Verifies that the resource returns a 4.05 for request codes other than PUT or POST.
*
* @param requestCode The CoAP request code to verify.
*/
@ParameterizedTest
@MethodSource("unsupportedRequestCodes")
public void testUnsupportedRequestCodesResultInMethodNotAllowed(final Code requestCode) {
final Request request = new Request(requestCode);
final Exchange exchange = newExchange(request);
resource.handleRequest(exchange);
verify(endpoint).sendResponse(eq(exchange), argThat(response -> response.getCode() == CoAP.ResponseCode.METHOD_NOT_ALLOWED));
verify(span).setTag(eq(CoapConstants.TAG_COAP_RESPONSE_CODE.getKey()), eq("4.05"));
}
use of org.eclipse.californium.core.coap.CoAP in project hono by eclipse.
the class TracingSupportingHonoResourceTest method testDefaultHandlersResultInNotImplemented.
/**
* Verifies that the resource returns a 5.01 for request codes PUT and POST.
*
* @param requestCode The CoAP request code to verify.
*/
@ParameterizedTest
@MethodSource("supportedRequestCodes")
public void testDefaultHandlersResultInNotImplemented(final Code requestCode) {
final Request request = new Request(requestCode);
final Exchange exchange = newExchange(request);
resource.handleRequest(exchange);
verify(endpoint).sendResponse(eq(exchange), argThat(response -> response.getCode() == CoAP.ResponseCode.NOT_IMPLEMENTED));
verify(span).setTag(eq(CoapConstants.TAG_COAP_RESPONSE_CODE.getKey()), eq("5.01"));
}
Aggregations