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

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

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

Request.getMessageObservers介绍

暂无

代码示例

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

/**
 * 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);
  }
}

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

/**
 * 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);
  }
}

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

@Test
public void testAddListOfMessageObservers() {
  Request ping = new Request(null, Type.CON);
  List<MessageObserver> observers = new ArrayList<>();
  observers.add(new MessageObserverAdapter() {});
  observers.add(new MessageObserverAdapter() {});
  ping.addMessageObservers(observers);
  assertThat(ping.getMessageObservers().size(), is(2));
}

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

@Test
public void testInitalEmptyMessageObservers() {
  Request ping = new Request(null, Type.CON);
  assertThat(ping.getMessageObservers().size(), is(0));
}

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

@Test
public void testMultipleAddListOfMessageObservers() {
  Request ping = new Request(null, Type.CON);
  List<MessageObserver> observers = new ArrayList<>();
  observers.add(new MessageObserverAdapter() {});
  observers.add(new MessageObserverAdapter() {});
  ping.addMessageObservers(observers);
  observers.add(new MessageObserverAdapter() {});
  observers.add(new MessageObserverAdapter() {});
  ping.addMessageObservers(observers);
  assertThat(ping.getMessageObservers().size(), is(6));
}

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

@Test
public void testAddEmptyListOfMessageObservers() {
  Request ping = new Request(null, Type.CON);
  List<MessageObserver> observers = Collections.emptyList();
  ping.addMessageObservers(observers);
  assertThat(ping.getMessageObservers().size(), is(0));
}

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

@Test
public void testAddMessageObserver() {
  Request ping = new Request(null, Type.CON);
  ping.addMessageObserver(new MessageObserverAdapter() {});
  assertThat(ping.getMessageObservers().size(), is(1));
}

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

@Test
  public void testMultipleAddsToMessageObservers() {
    Request ping = new Request(null, Type.CON);
    List<MessageObserver> observers = new ArrayList<>();
    observers.add(new MessageObserverAdapter() {});
    observers.add(new MessageObserverAdapter() {});
    ping.addMessageObservers(observers);
    ping.addMessageObserver(new MessageObserverAdapter() {});
    ping.addMessageObserver(new MessageObserverAdapter() {});
    observers.add(new MessageObserverAdapter() {});
    observers.add(new MessageObserverAdapter() {});
    ping.addMessageObservers(observers);
    ping.addMessageObserver(new MessageObserverAdapter() {});
    assertThat(ping.getMessageObservers().size(), is(9));
  }
}

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

@Test
public void testMultipleAddMessageObserver() {
  Request ping = new Request(null, Type.CON);
  ping.addMessageObserver(new MessageObserverAdapter() {});
  ping.addMessageObserver(new MessageObserverAdapter() {});
  ping.addMessageObserver(new MessageObserverAdapter() {});
  assertThat(ping.getMessageObservers().size(), is(3));
}

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

for (MessageObserver mo : request.getMessageObservers()) {
  request.removeMessageObserver(mo);
  refresh.addMessageObserver(mo);

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

for (MessageObserver mo : request.getMessageObservers()) {
  request.removeMessageObserver(mo);
  refresh.addMessageObserver(mo);

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

/**
 * Send request with option "cancel observe" (GET with Observe=1).
 */
private void sendCancelObserve() {
  Request request = this.request;
  Request cancel = Request.newGet();
  cancel.setDestination(request.getDestination());
  cancel.setDestinationPort(request.getDestinationPort());
  // use same Token
  cancel.setToken(request.getToken());
  // copy options, but set Observe to cancel
  cancel.setOptions(request.getOptions());
  cancel.setObserveCancel();
  // dispatch final response to the same message observers
  for (MessageObserver mo : request.getMessageObservers()) {
    cancel.addMessageObserver(mo);
  }
  endpoint.sendRequest(cancel);
}

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

/**
 * Send request with option "cancel observe" (GET with Observe=1).
 */
private void sendCancelObserve() {
  Request request = this.request;
  Request cancel = Request.newGet();
  cancel.setDestination(request.getDestination());
  cancel.setDestinationPort(request.getDestinationPort());
  // use same Token
  cancel.setToken(request.getToken());
  // copy options, but set Observe to cancel
  cancel.setOptions(request.getOptions());
  cancel.setObserveCancel();
  
  // dispatch final response to the same message observers
  for (MessageObserver mo: request.getMessageObservers()) {
    cancel.addMessageObserver(mo);
  }
  
  endpoint.sendRequest(cancel);
}

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

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

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

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

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

block.addMessageObservers(request.getMessageObservers());

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

block.addMessageObservers(request.getMessageObservers());

相关文章

微信公众号

最新文章

更多