org.eclipse.californium.core.coap.Request.getType()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(13.0k)|赞(0)|评价(0)|浏览(247)

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

Request.getType介绍

暂无

代码示例

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

  1. /**
  2. * Schedules a retransmission for confirmable messages.
  3. */
  4. @Override
  5. public void sendRequest(final Exchange exchange, final Request request) {
  6. LOGGER.log(Level.FINER, "Send request, failed transmissions: {0}", exchange.getFailedTransmissionCount());
  7. if (request.getType() == null) {
  8. request.setType(Type.CON);
  9. }
  10. if (request.getType() == Type.CON) {
  11. prepareRetransmission(exchange, new RetransmissionTask(exchange, request) {
  12. public void retransmit() {
  13. sendRequest(exchange, request);
  14. }
  15. });
  16. }
  17. super.sendRequest(exchange, request);
  18. }

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

  1. /**
  2. * Formats a {@link Request} into a readable String representation.
  3. *
  4. * @param r the Request
  5. * @return the pretty print
  6. */
  7. public static String prettyPrint(Request r) {
  8. StringBuilder sb = new StringBuilder();
  9. sb.append("==[ CoAP Request ]=============================================").append(System.lineSeparator());
  10. sb.append(String.format("MID : %d", r.getMID())).append(System.lineSeparator());
  11. sb.append(String.format("Token : %s", r.getTokenString())).append(System.lineSeparator());
  12. sb.append(String.format("Type : %s", r.getType().toString())).append(System.lineSeparator());
  13. sb.append(String.format("Method : %s", r.getCode().toString())).append(System.lineSeparator());
  14. sb.append(String.format("Options: %s", r.getOptions().toString())).append(System.lineSeparator());
  15. sb.append(String.format("Payload: %d Bytes", r.getPayloadSize())).append(System.lineSeparator());
  16. if (r.getPayloadSize() > 0 && MediaTypeRegistry.isPrintable(r.getOptions().getContentFormat())) {
  17. sb.append("---------------------------------------------------------------").append(System.lineSeparator());
  18. sb.append(r.getPayloadString());
  19. sb.append(System.lineSeparator());
  20. }
  21. sb.append("===============================================================");
  22. return sb.toString();
  23. }

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

  1. /**
  2. * Formats a {@link Request} into a readable String representation.
  3. *
  4. * @param r the Request
  5. * @return the pretty print
  6. */
  7. public static String prettyPrint(Request r) {
  8. StringBuilder sb = new StringBuilder();
  9. sb.append("==[ CoAP Request ]=============================================").append(System.lineSeparator());
  10. sb.append(String.format("MID : %d", r.getMID())).append(System.lineSeparator());
  11. sb.append(String.format("Token : %s", r.getTokenString())).append(System.lineSeparator());
  12. sb.append(String.format("Type : %s", r.getType().toString())).append(System.lineSeparator());
  13. sb.append(String.format("Method : %s", r.getCode().toString())).append(System.lineSeparator());
  14. sb.append(String.format("Options: %s", r.getOptions().toString())).append(System.lineSeparator());
  15. sb.append(String.format("Payload: %d Bytes", r.getPayloadSize())).append(System.lineSeparator());
  16. if (r.getPayloadSize() > 0 && MediaTypeRegistry.isPrintable(r.getOptions().getContentFormat())) {
  17. sb.append("---------------------------------------------------------------").append(System.lineSeparator());
  18. sb.append(r.getPayloadString());
  19. sb.append(System.lineSeparator());
  20. }
  21. sb.append("===============================================================");
  22. return sb.toString();
  23. }

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

  1. @Override
  2. public void handleGET(CoapExchange exchange) {
  3. // get request to read out details
  4. Request request = exchange.advanced().getRequest();
  5. StringBuilder payload = new StringBuilder();
  6. payload.append(String.format("Type: %d (%s)\nCode: %d (%s)\nMID: %d\n",
  7. request.getType().value,
  8. request.getType(),
  9. request.getCode().value,
  10. request.getCode(),
  11. request.getMID()
  12. ));
  13. payload.append("?").append(request.getOptions().getUriQueryString());
  14. if (payload.length()>64) {
  15. payload.delete(63, payload.length());
  16. payload.append('»');
  17. }
  18. // complete the request
  19. exchange.respond(CONTENT, payload.toString(), TEXT_PLAIN);
  20. }
  21. }

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

  1. /**
  2. * Schedules a retransmission for confirmable messages.
  3. */
  4. @Override
  5. public void sendRequest(final Exchange exchange, final Request request) {
  6. LOGGER.log(Level.FINER, "Send request, failed transmissions: {0}", exchange.getFailedTransmissionCount());
  7. if (request.getType() == null) {
  8. request.setType(Type.CON);
  9. }
  10. if (request.getType() == Type.CON) {
  11. prepareRetransmission(exchange, new RetransmissionTask(exchange, request) {
  12. public void retransmit() {
  13. sendRequest(exchange, request);
  14. }
  15. });
  16. }
  17. lower().sendRequest(exchange, request);
  18. }

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

  1. @Override
  2. public void handleGET(CoapExchange exchange) {
  3. Request request = exchange.advanced().getRequest();
  4. String payload = String.format("Long path resource\n" +
  5. "Type: %d (%s)\nCode: %d (%s)\nMID: %d",
  6. request.getType().value,
  7. request.getType(),
  8. request.getCode().value,
  9. request.getCode(),
  10. request.getMID()
  11. );
  12. // complete the request
  13. exchange.respond(CONTENT, payload, TEXT_PLAIN);
  14. }
  15. }

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

  1. @Override
  2. public void handleGET(CoapExchange exchange) {
  3. // Check: Type, Code
  4. StringBuilder payload = new StringBuilder();
  5. Request request = exchange.advanced().getRequest();
  6. payload.append(String.format("Type: %d (%s)\nCode: %d (%s)\nMID: %d",
  7. request.getType().value,
  8. request.getType(),
  9. request.getCode().value,
  10. request.getCode(),
  11. request.getMID()));
  12. if (request.getToken().length > 0) {
  13. payload.append("\nToken: ");
  14. StringBuilder tok = new StringBuilder(request.getToken()==null?"null":"");
  15. if (request.getToken()!=null) for(byte b:request.getToken()) tok.append(String.format("%02x", b&0xff));
  16. payload.append(tok);
  17. }
  18. if (payload.length() > 64) {
  19. payload.delete(62, payload.length());
  20. payload.append('»');
  21. }
  22. // complete the request
  23. exchange.setMaxAge(30);
  24. exchange.respond(CONTENT, payload.toString(), TEXT_PLAIN);
  25. }

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

  1. @Override
  2. public void handlePUT(CoapExchange exchange) {
  3. Request request = exchange.advanced().getRequest();
  4. LOG.debug("UPDATE received : {}", request);
  5. if (!Type.CON.equals(request.getType())) {
  6. exchange.respond(ResponseCode.BAD_REQUEST);
  7. return;
  8. }
  9. List<String> uri = exchange.getRequestOptions().getUriPath();
  10. if (uri == null || uri.size() != 2 || !RESOURCE_NAME.equals(uri.get(0))) {
  11. exchange.respond(ResponseCode.BAD_REQUEST);
  12. return;
  13. }
  14. LOG.debug(
  15. "Warning a client made a registration update using a CoAP PUT, a POST must be used since version V1_0-20150615-D of the specification. Request: {}",
  16. request);
  17. handleUpdate(exchange, request, uri.get(1));
  18. }

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

  1. @Override
  2. public String toString() {
  3. String payload = getPayloadTracingString();
  4. return String.format("%s-%-6s MID=%5d, Token=%s, OptionSet=%s, %s", getType(), getCode(), getMID(), getTokenString(), getOptions(), payload);
  5. }

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

  1. @Override
  2. public String toString() {
  3. String payload = getPayloadTracingString();
  4. return String.format("%s-%-6s MID=%5d, Token=%s, OptionSet=%s, %s", getType(), getCode(), getMID(), getTokenString(), getOptions(), payload);
  5. }

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

  1. @Override
  2. public void handleGET(CoapExchange exchange) {
  3. // promise the client that this request will be acted upon by sending an Acknowledgement
  4. exchange.accept();
  5. // do the time-consuming computation
  6. try {
  7. Thread.sleep(1000);
  8. } catch (InterruptedException e) {
  9. }
  10. // get request to read out details
  11. Request request = exchange.advanced().getRequest();
  12. String payload = String.format("Type: %d (%s)\nCode: %d (%s)\nMID: %d\n",
  13. request.getType().value,
  14. request.getType(),
  15. request.getCode().value,
  16. request.getCode(),
  17. request.getMID()
  18. );
  19. // complete the request
  20. exchange.respond(CONTENT, payload, TEXT_PLAIN);
  21. }
  22. }

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

  1. /**
  2. * Accept this exchange and therefore the request. Only if the request's
  3. * type was a <code>CON</code> and the request has not been acknowledged
  4. * yet, it sends an ACK to the client.
  5. */
  6. public void sendAccept() {
  7. assert (origin == Origin.REMOTE);
  8. if (request.getType() == Type.CON && !request.isAcknowledged()) {
  9. request.setAcknowledged(true);
  10. EmptyMessage ack = EmptyMessage.newACK(request);
  11. endpoint.sendEmptyMessage(this, ack);
  12. }
  13. }

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

  1. /**
  2. * Accept this exchange and therefore the request. Only if the request's
  3. * type was a <code>CON</code> and the request has not been acknowledged
  4. * yet, it sends an ACK to the client.
  5. */
  6. public void sendAccept() {
  7. assert (origin == Origin.REMOTE);
  8. if (request.getType() == Type.CON && !request.isAcknowledged()) {
  9. request.setAcknowledged(true);
  10. EmptyMessage ack = EmptyMessage.newACK(request);
  11. endpoint.sendEmptyMessage(this, ack);
  12. }
  13. }

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

  1. @Override
  2. public void handlePOST(CoapExchange exchange) {
  3. Request request = exchange.advanced().getRequest();
  4. LOG.debug("POST received : {}", request);
  5. // The LWM2M spec (section 8.2) mandates the usage of confirmable messages
  6. if (!Type.CON.equals(request.getType())) {
  7. exchange.respond(ResponseCode.BAD_REQUEST);
  8. return;
  9. }
  10. List<String> uri = exchange.getRequestOptions().getUriPath();
  11. if (uri == null || uri.size() == 0 || !RESOURCE_NAME.equals(uri.get(0))) {
  12. exchange.respond(ResponseCode.BAD_REQUEST);
  13. return;
  14. }
  15. if (uri.size() == 1) {
  16. handleRegister(exchange, request);
  17. return;
  18. } else if (uri.size() == 2) {
  19. handleUpdate(exchange, request, uri.get(1));
  20. return;
  21. } else {
  22. exchange.respond(ResponseCode.BAD_REQUEST);
  23. return;
  24. }
  25. }

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

  1. public CoapMessage(Request request, boolean incoming) {
  2. this(incoming, request.getType(), request.getMID(), request.getTokenString(), request.getOptions(), request
  3. .getPayload());
  4. this.code = request.getCode().toString();
  5. }

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

  1. protected final void appendRequestDetails(final Request request) {
  2. if (request.isCanceled()) {
  3. buffer.append("CANCELED ");
  4. }
  5. buffer.append(request.getType()).append(" [MID=").append(request.getMID())
  6. .append(", T=").append(request.getTokenString()).append("], ")
  7. .append(request.getCode()).append(", /").append(request.getOptions().getUriPathString());
  8. appendBlockOption(1, request.getOptions().getBlock1());
  9. appendBlockOption(2, request.getOptions().getBlock2());
  10. appendObserveOption(request.getOptions());
  11. appendSize1(request.getOptions());
  12. appendEtags(request.getOptions());
  13. }

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

  1. if (!Type.CON.equals(request.getType())) {
  2. exchange.respond(ResponseCode.BAD_REQUEST);
  3. return;

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

  1. /**
  2. * Serializes a request to the wire format.
  3. * <p>
  4. * The main difference between this and the <em>serializeRequest</em> method is that this method
  5. * does <em>not</em> cache the byte array in the request's <em>bytes</em> property.
  6. *
  7. * @param request The request to serialize.
  8. * @return The encoded request.
  9. */
  10. public final byte[] getByteArray(final Request request) {
  11. DatagramWriter writer = new DatagramWriter();
  12. byte[] body = serializeOptionsAndPayload(request);
  13. MessageHeader header = new MessageHeader(CoAP.VERSION, request.getType(), request.getToken(),
  14. request.getRawCode(), request.getMID(), body.length);
  15. serializeHeader(writer, header);
  16. writer.writeBytes(body);
  17. return writer.toByteArray();
  18. }

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

  1. private static Request getNextRequestBlock(final Request request, final BlockwiseStatus status) {
  2. int num = status.getCurrentNum();
  3. int szx = status.getCurrentSzx();
  4. Request block = new Request(request.getCode());
  5. // do not enforce CON, since NON could make sense over SMS or similar transports
  6. block.setType(request.getType());
  7. block.setDestination(request.getDestination());
  8. block.setDestinationPort(request.getDestinationPort());
  9. // copy options
  10. block.setOptions(new OptionSet(request.getOptions()));
  11. // copy message observers so that a failing blockwise request also notifies observers registered with
  12. // the original request
  13. block.addMessageObservers(request.getMessageObservers());
  14. int currentSize = 1 << (4 + szx);
  15. int from = num * currentSize;
  16. int to = Math.min((num + 1) * currentSize, request.getPayloadSize());
  17. int length = to - from;
  18. byte[] blockPayload = new byte[length];
  19. System.arraycopy(request.getPayload(), from, blockPayload, 0, length);
  20. block.setPayload(blockPayload);
  21. boolean m = (to < request.getPayloadSize());
  22. block.getOptions().setBlock1(szx, m, num);
  23. status.setComplete(!m);
  24. return block;
  25. }

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

  1. private static Request getNextRequestBlock(final Request request, final BlockwiseStatus status) {
  2. int num = status.getCurrentNum();
  3. int szx = status.getCurrentSzx();
  4. Request block = new Request(request.getCode());
  5. // do not enforce CON, since NON could make sense over SMS or similar transports
  6. block.setType(request.getType());
  7. block.setDestination(request.getDestination());
  8. block.setDestinationPort(request.getDestinationPort());
  9. // copy options
  10. block.setOptions(new OptionSet(request.getOptions()));
  11. // copy message observers so that a failing blockwise request also notifies observers registered with
  12. // the original request
  13. block.addMessageObservers(request.getMessageObservers());
  14. int currentSize = 1 << (4 + szx);
  15. int from = num * currentSize;
  16. int to = Math.min((num + 1) * currentSize, request.getPayloadSize());
  17. int length = to - from;
  18. byte[] blockPayload = new byte[length];
  19. System.arraycopy(request.getPayload(), from, blockPayload, 0, length);
  20. block.setPayload(blockPayload);
  21. boolean m = (to < request.getPayloadSize());
  22. block.getOptions().setBlock1(szx, m, num);
  23. status.setComplete(!m);
  24. return block;
  25. }

相关文章