org.eclipse.californium.core.network.Endpoint.sendRequest()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(14.7k)|赞(0)|评价(0)|浏览(158)

本文整理了Java中org.eclipse.californium.core.network.Endpoint.sendRequest()方法的一些代码示例,展示了Endpoint.sendRequest()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Endpoint.sendRequest()方法的具体详情如下:
包路径:org.eclipse.californium.core.network.Endpoint
类名称:Endpoint
方法名:sendRequest

Endpoint.sendRequest介绍

[英]Send the specified request.
[中]发送指定的请求。

代码示例

代码示例来源:origin: org.eclipse.californium/californium-core

  1. /**
  2. * Sends the request over the specified endpoint to its destination and
  3. * expects a response back.
  4. *
  5. * @param endpoint the endpoint
  6. * @return this request
  7. */
  8. public Request send(Endpoint endpoint) {
  9. validateBeforeSending();
  10. endpoint.sendRequest(this);
  11. return this;
  12. }

代码示例来源:origin: eclipse/californium

  1. /**
  2. * Sends this request over the specified endpoint to its destination and
  3. * expects a response back.
  4. *
  5. * @param endpoint the endpoint
  6. * @return this request
  7. * @throws NullPointerException if this request has no destination set.
  8. */
  9. public Request send(Endpoint endpoint) {
  10. validateBeforeSending();
  11. endpoint.sendRequest(this);
  12. return this;
  13. }

代码示例来源:origin: org.eclipse.californium/californium-core

  1. /**
  2. * Sends the request over the default endpoint to its destination and
  3. * expects a response back.
  4. * @return this request
  5. */
  6. public Request send() {
  7. validateBeforeSending();
  8. if (CoAP.COAP_SECURE_URI_SCHEME.equals(getScheme())) {
  9. // This is the case when secure coap is supposed to be used
  10. EndpointManager.getEndpointManager().getDefaultSecureEndpoint().sendRequest(this);
  11. } else {
  12. // This is the normal case
  13. EndpointManager.getEndpointManager().getDefaultEndpoint().sendRequest(this);
  14. }
  15. return this;
  16. }

代码示例来源:origin: eclipse/californium

  1. /**
  2. * Sends the request over the default endpoint to its destination and
  3. * expects a response back.
  4. *
  5. * @return this request
  6. * @throws NullPointerException if this request has no destination set.
  7. */
  8. public Request send() {
  9. validateBeforeSending();
  10. if (CoAP.COAP_SECURE_URI_SCHEME.equals(getScheme())) {
  11. // This is the case when secure coap is supposed to be used
  12. EndpointManager.getEndpointManager().getDefaultSecureEndpoint().sendRequest(this);
  13. } else {
  14. // This is the normal case
  15. EndpointManager.getEndpointManager().getDefaultEndpoint().sendRequest(this);
  16. }
  17. return this;
  18. }

代码示例来源:origin: eclipse/californium

  1. /**
  2. * Sends the specified request over the specified endpoint.
  3. *
  4. * @param request the request
  5. * @param outEndpoint the endpoint
  6. * @return the request
  7. */
  8. protected Request send(Request request, Endpoint outEndpoint) {
  9. if (blockwise!=0) {
  10. request.getOptions().setBlock2(new BlockOption(BlockOption.size2Szx(this.blockwise), false, 0));
  11. }
  12. outEndpoint.sendRequest(request);
  13. return request;
  14. }

代码示例来源:origin: org.eclipse.californium/californium-core

  1. /**
  2. * Sends the specified request over the specified endpoint.
  3. *
  4. * @param request the request
  5. * @param outEndpoint the endpoint
  6. * @return the request
  7. */
  8. protected Request send(Request request, Endpoint outEndpoint) {
  9. // use the specified message type
  10. request.setType(this.type);
  11. if (blockwise!=0) {
  12. request.getOptions().setBlock2(new BlockOption(BlockOption.size2Szx(this.blockwise), false, 0));
  13. }
  14. outEndpoint.sendRequest(request);
  15. return request;
  16. }

代码示例来源:origin: eclipse/leshan

  1. @Override
  2. public <T extends LwM2mResponse> void send(InetSocketAddress serverAddress, boolean secure,
  3. final UplinkRequest<T> request, long timeout, ResponseCallback<T> responseCallback,
  4. ErrorCallback errorCallback) {
  5. // Create the CoAP request from LwM2m request
  6. CoapRequestBuilder coapClientRequestBuilder = new CoapRequestBuilder(serverAddress);
  7. request.accept(coapClientRequestBuilder);
  8. Request coapRequest = coapClientRequestBuilder.getRequest();
  9. // Add CoAP request callback
  10. MessageObserver obs = new AsyncRequestObserver<T>(coapRequest, responseCallback, errorCallback, timeout) {
  11. @Override
  12. public T buildResponse(Response coapResponse) {
  13. // Build LwM2m response
  14. LwM2mClientResponseBuilder<T> lwm2mResponseBuilder = new LwM2mClientResponseBuilder<>(coapResponse);
  15. request.accept(lwm2mResponseBuilder);
  16. return lwm2mResponseBuilder.getResponse();
  17. }
  18. };
  19. coapRequest.addMessageObserver(obs);
  20. // Send CoAP request asynchronously
  21. endpointsManager.getEndpoint(null).sendRequest(coapRequest);
  22. }
  23. }

代码示例来源:origin: org.eclipse.leshan/leshan-server-cf

  1. @Override
  2. public <T extends LwM2mResponse> void send(final Client destination, final DownlinkRequest<T> request,
  3. final ResponseConsumer<T> responseCallback, final ExceptionConsumer errorCallback) {
  4. // Create the CoAP request from LwM2m request
  5. final CoapRequestBuilder CoapRequestBuilder = new CoapRequestBuilder(destination);
  6. request.accept(CoapRequestBuilder);
  7. final Request coapRequest = CoapRequestBuilder.getRequest();
  8. // Add CoAP request callback
  9. coapRequest.addMessageObserver(new AsyncRequestObserver<T>(coapRequest, destination, responseCallback,
  10. errorCallback) {
  11. @Override
  12. public T buildResponse(final Response coapResponse) {
  13. // Build LwM2m response
  14. final LwM2mResponseBuilder<T> lwm2mResponseBuilder = new LwM2mResponseBuilder<T>(coapRequest,
  15. coapResponse, client, observationRegistry);
  16. request.accept(lwm2mResponseBuilder);
  17. return lwm2mResponseBuilder.getResponse();
  18. }
  19. });
  20. // Send CoAP request asynchronously
  21. final Endpoint endpoint = getEndpointForClient(destination);
  22. endpoint.sendRequest(coapRequest);
  23. }

代码示例来源:origin: eclipse/leshan

  1. @Override
  2. public <T extends LwM2mResponse> T send(InetSocketAddress serverAddress, boolean secure,
  3. final UplinkRequest<T> request, long timeout) throws InterruptedException {
  4. // Create the CoAP request from LwM2m request
  5. CoapRequestBuilder coapClientRequestBuilder = new CoapRequestBuilder(serverAddress);
  6. request.accept(coapClientRequestBuilder);
  7. Request coapRequest = coapClientRequestBuilder.getRequest();
  8. // Send CoAP request synchronously
  9. SyncRequestObserver<T> syncMessageObserver = new SyncRequestObserver<T>(coapRequest, timeout) {
  10. @Override
  11. public T buildResponse(Response coapResponse) {
  12. // Build LwM2m response
  13. LwM2mClientResponseBuilder<T> lwm2mResponseBuilder = new LwM2mClientResponseBuilder<>(coapResponse);
  14. request.accept(lwm2mResponseBuilder);
  15. return lwm2mResponseBuilder.getResponse();
  16. }
  17. };
  18. coapRequest.addMessageObserver(syncMessageObserver);
  19. // Send CoAP request asynchronously
  20. endpointsManager.getEndpoint(null).sendRequest(coapRequest);
  21. // Wait for response, then return it
  22. return syncMessageObserver.waitForResponse();
  23. }

代码示例来源:origin: eclipse/californium

  1. @Test
  2. public void testRequestForOversizedBodyGetsCanceled() throws InterruptedException {
  3. final CountDownLatch latch = new CountDownLatch(1);
  4. Request req = Request.newGet().setURI(getUri(serverEndpoint, RESOURCE_BIG));
  5. req.addMessageObserver(new MessageObserverAdapter() {
  6. @Override
  7. public void onCancel() {
  8. latch.countDown();
  9. }
  10. });
  11. clientEndpoint.sendRequest(req);
  12. assertTrue(latch.await(1000, TimeUnit.MILLISECONDS));
  13. }

代码示例来源:origin: org.eclipse.leshan/leshan-server-cf

  1. @Override
  2. public <T extends LwM2mResponse> T send(final Client destination, final DownlinkRequest<T> request) {
  3. // Create the CoAP request from LwM2m request
  4. final CoapRequestBuilder CoapRequestBuilder = new CoapRequestBuilder(destination);
  5. request.accept(CoapRequestBuilder);
  6. final Request coapRequest = CoapRequestBuilder.getRequest();
  7. // Send CoAP request synchronously
  8. final SyncRequestObserver<T> syncMessageObserver = new SyncRequestObserver<T>(coapRequest, destination,
  9. timeoutMillis) {
  10. @Override
  11. public T buildResponse(final Response coapResponse) {
  12. // Build LwM2m response
  13. final LwM2mResponseBuilder<T> lwm2mResponseBuilder = new LwM2mResponseBuilder<T>(coapRequest,
  14. coapResponse, client, observationRegistry);
  15. request.accept(lwm2mResponseBuilder);
  16. return lwm2mResponseBuilder.getResponse();
  17. }
  18. };
  19. coapRequest.addMessageObserver(syncMessageObserver);
  20. // Send CoAP request asynchronously
  21. final Endpoint endpoint = getEndpointForClient(destination);
  22. endpoint.sendRequest(coapRequest);
  23. // Wait for response, then return it
  24. return syncMessageObserver.waitForResponse();
  25. }

代码示例来源:origin: eclipse/leshan

  1. @Override
  2. public void sendCoapRequest(final Registration destination, final Request coapRequest, long timeout,
  3. CoapResponseCallback responseCallback, ErrorCallback errorCallback) {
  4. // Define destination
  5. EndpointContext context = EndpointContextUtil.extractContext(destination.getIdentity());
  6. coapRequest.setDestinationContext(context);
  7. // Add CoAP request callback
  8. MessageObserver obs = new CoapAsyncRequestObserver(coapRequest, responseCallback, errorCallback, timeout);
  9. coapRequest.addMessageObserver(obs);
  10. // Store pending request to cancel it on de-registration
  11. addPendingRequest(destination.getId(), coapRequest);
  12. // Send CoAP request asynchronously
  13. Endpoint endpoint = getEndpointForClient(destination);
  14. endpoint.sendRequest(coapRequest);
  15. }

代码示例来源:origin: org.github.leshan/leshan-client

  1. @Override
  2. public void send(final LwM2mClientRequest request, final ResponseCallback responseCallback) {
  3. // Create the CoAP request from LwM2m request
  4. final CoapClientRequestBuilder coapClientRequestBuilder = new CoapClientRequestBuilder(serverAddress,
  5. clientObjectModel);
  6. request.accept(coapClientRequestBuilder);
  7. if (!coapClientRequestBuilder.areParametersValid()) {
  8. responseCallback.onFailure(OperationResponse.failure(ResponseCode.INTERNAL_SERVER_ERROR,
  9. "Request has invalid parameters. Not sending."));
  10. return;
  11. }
  12. final Request coapRequest = coapClientRequestBuilder.getRequest();
  13. // Add CoAP request callback
  14. coapRequest.addMessageObserver(new AsyncRequestObserver(coapRequest, responseCallback) {
  15. @Override
  16. public OperationResponse buildResponse(final Response coapResponse) {
  17. // Build LwM2m response
  18. final LwM2mClientResponseBuilder lwm2mResponseBuilder = new LwM2mClientResponseBuilder(coapRequest,
  19. coapResponse, CaliforniumLwM2mClientRequestSender.this);
  20. request.accept(lwm2mResponseBuilder);
  21. return lwm2mResponseBuilder.getResponse();
  22. }
  23. });
  24. // Send CoAP request asynchronously
  25. clientEndpoint.sendRequest(coapRequest);
  26. }

代码示例来源:origin: org.eclipse.leshan/leshan-client

  1. @Override
  2. public void send(final LwM2mClientRequest request, final ResponseCallback responseCallback) {
  3. // Create the CoAP request from LwM2m request
  4. final CoapClientRequestBuilder coapClientRequestBuilder = new CoapClientRequestBuilder(serverAddress,
  5. clientObjectModel);
  6. request.accept(coapClientRequestBuilder);
  7. if (!coapClientRequestBuilder.areParametersValid()) {
  8. responseCallback.onFailure(OperationResponse.failure(ResponseCode.INTERNAL_SERVER_ERROR,
  9. "Request has invalid parameters. Not sending."));
  10. return;
  11. }
  12. final Request coapRequest = coapClientRequestBuilder.getRequest();
  13. // Add CoAP request callback
  14. coapRequest.addMessageObserver(new AsyncRequestObserver(coapRequest, responseCallback) {
  15. @Override
  16. public OperationResponse buildResponse(final Response coapResponse) {
  17. // Build LwM2m response
  18. final LwM2mClientResponseBuilder lwm2mResponseBuilder = new LwM2mClientResponseBuilder(coapRequest,
  19. coapResponse, CaliforniumLwM2mClientRequestSender.this);
  20. request.accept(lwm2mResponseBuilder);
  21. return lwm2mResponseBuilder.getResponse();
  22. }
  23. });
  24. // Send CoAP request asynchronously
  25. clientEndpoint.sendRequest(coapRequest);
  26. }

代码示例来源:origin: eclipse/leshan

  1. @Override
  2. public Response sendCoapRequest(final Registration destination, final Request coapRequest, long timeout)
  3. throws InterruptedException {
  4. // Define destination
  5. EndpointContext context = EndpointContextUtil.extractContext(destination.getIdentity());
  6. coapRequest.setDestinationContext(context);
  7. // Send CoAP request synchronously
  8. CoapSyncRequestObserver syncMessageObserver = new CoapSyncRequestObserver(coapRequest, timeout);
  9. coapRequest.addMessageObserver(syncMessageObserver);
  10. // Store pending request to cancel it on de-registration
  11. addPendingRequest(destination.getId(), coapRequest);
  12. // Send CoAP request asynchronously
  13. Endpoint endpoint = getEndpointForClient(destination);
  14. endpoint.sendRequest(coapRequest);
  15. // Wait for response, then return it
  16. return syncMessageObserver.waitForCoapResponse();
  17. }

代码示例来源:origin: eclipse/californium

  1. /**
  2. * Send request with option "cancel observe" (GET with Observe=1).
  3. */
  4. private void sendCancelObserve() {
  5. Request request = this.request;
  6. Request cancel = Request.newGet();
  7. cancel.setDestination(request.getDestination());
  8. cancel.setDestinationPort(request.getDestinationPort());
  9. // use same Token
  10. cancel.setToken(request.getToken());
  11. // copy options, but set Observe to cancel
  12. cancel.setOptions(request.getOptions());
  13. cancel.setObserveCancel();
  14. // dispatch final response to the same message observers
  15. for (MessageObserver mo : request.getMessageObservers()) {
  16. cancel.addMessageObserver(mo);
  17. }
  18. endpoint.sendRequest(cancel);
  19. }

代码示例来源:origin: org.eclipse.californium/californium-core

  1. /**
  2. * Send request with option "cancel observe" (GET with Observe=1).
  3. */
  4. private void sendCancelObserve() {
  5. Request request = this.request;
  6. Request cancel = Request.newGet();
  7. cancel.setDestination(request.getDestination());
  8. cancel.setDestinationPort(request.getDestinationPort());
  9. // use same Token
  10. cancel.setToken(request.getToken());
  11. // copy options, but set Observe to cancel
  12. cancel.setOptions(request.getOptions());
  13. cancel.setObserveCancel();
  14. // dispatch final response to the same message observers
  15. for (MessageObserver mo: request.getMessageObservers()) {
  16. cancel.addMessageObserver(mo);
  17. }
  18. endpoint.sendRequest(cancel);
  19. }

代码示例来源:origin: eclipse/leshan

  1. @Override
  2. public <T extends LwM2mResponse> void send(final Registration destination, final DownlinkRequest<T> request,
  3. long timeout, ResponseCallback<T> responseCallback, ErrorCallback errorCallback) {
  4. // Retrieve the objects definition
  5. final LwM2mModel model = modelProvider.getObjectModel(destination);
  6. // Create the CoAP request from LwM2m request
  7. CoapRequestBuilder coapRequestBuilder = new CoapRequestBuilder(destination.getIdentity(),
  8. destination.getRootPath(), destination.getId(), destination.getEndpoint(), model, encoder);
  9. request.accept(coapRequestBuilder);
  10. final Request coapRequest = coapRequestBuilder.getRequest();
  11. // Add CoAP request callback
  12. MessageObserver obs = new AsyncRequestObserver<T>(coapRequest, responseCallback, errorCallback, timeout) {
  13. @Override
  14. public T buildResponse(Response coapResponse) {
  15. // Build LwM2m response
  16. LwM2mResponseBuilder<T> lwm2mResponseBuilder = new LwM2mResponseBuilder<>(coapRequest, coapResponse,
  17. destination, model, observationService, decoder);
  18. request.accept(lwm2mResponseBuilder);
  19. return lwm2mResponseBuilder.getResponse();
  20. }
  21. };
  22. coapRequest.addMessageObserver(obs);
  23. // Store pending request to cancel it on de-registration
  24. addPendingRequest(destination.getId(), coapRequest);
  25. // Send CoAP request asynchronously
  26. Endpoint endpoint = getEndpointForClient(destination);
  27. endpoint.sendRequest(coapRequest);
  28. }

代码示例来源:origin: eclipse/californium

  1. private void executePOSTRequest(final boolean shortRequest, final boolean respondShort) throws Exception {
  2. String payload = "--no payload--";
  3. try {
  4. interceptor.clear();
  5. Request request = Request.newPost().setURI(getUri(serverEndpoint, RESOURCE_TEST));
  6. if (shortRequest) {
  7. request.setPayload(SHORT_POST_REQUEST);
  8. request.getOptions().addUriQuery(PARAM_SHORT_REQ);
  9. } else {
  10. request.setPayload(LONG_POST_REQUEST);
  11. }
  12. if (respondShort) {
  13. request.getOptions().addUriQuery(PARAM_SHORT_RESP);
  14. }
  15. clientEndpoint.sendRequest(request);
  16. // receive response and check
  17. Response response = request.waitForResponse(2000);
  18. assertNotNull("Client received no response", response);
  19. payload = response.getPayloadString();
  20. if (respondShort) {
  21. assertEquals(SHORT_POST_RESPONSE, payload);
  22. } else {
  23. assertEquals(LONG_POST_RESPONSE, payload);
  24. }
  25. } finally {
  26. Thread.sleep(100); // Quickly wait until last ACKs arrive
  27. System.out.println("Client received payload [" + payload + "]" + System.lineSeparator()
  28. + interceptor.toString() + System.lineSeparator());
  29. }
  30. }

代码示例来源:origin: eclipse/californium

  1. client.sendRequest(request);
  2. client.sendRequest(request);

相关文章