当前位置: 首页>>代码示例>>Java>>正文


Java Response.getMID方法代码示例

本文整理汇总了Java中org.eclipse.californium.core.coap.Response.getMID方法的典型用法代码示例。如果您正苦于以下问题:Java Response.getMID方法的具体用法?Java Response.getMID怎么用?Java Response.getMID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.californium.core.coap.Response的用法示例。


在下文中一共展示了Response.getMID方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: removeNotificatoinsOf

import org.eclipse.californium.core.coap.Response; //导入方法依赖的package包/类
private void removeNotificatoinsOf(ObserveRelation relation) {
	LOGGER.fine("Remove all remaining NON-notifications of observe relation");
	for (Iterator<Response> iterator = relation.getNotificationIterator(); iterator.hasNext();) {
		Response previous = iterator.next();
		// notifications are local MID namespace
		KeyMID idByMID = new KeyMID(previous.getMID(), null, 0);
		exchangesByMID.remove(idByMID);
		iterator.remove();
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:11,代码来源:Matcher.java

示例2: CoapMessage

import org.eclipse.californium.core.coap.Response; //导入方法依赖的package包/类
public CoapMessage(Response request, boolean incoming) {
    this(incoming, request.getType(), request.getMID(), request.getTokenString(), request.getOptions(), request
            .getPayload());
    this.code = request.getCode().toString();
}
 
开发者ID:IoTKETI,项目名称:IPE-LWM2M,代码行数:6,代码来源:CoapMessage.java

示例3: sendResponse

import org.eclipse.californium.core.coap.Response; //导入方法依赖的package包/类
public void sendResponse(Exchange exchange, Response response) {
	
	// ensure MID is set
	if (response.getMID() == Message.NONE) {
		response.setMID(currendMID.getAndIncrement()%(1<<16));
	}
	
	// ensure Token is set
	response.setToken(exchange.getCurrentRequest().getToken());

	// If this is a CON notification we now can forget all previous NON notifications
	if (response.getType() == Type.CON || response.getType() == Type.ACK) {
		ObserveRelation relation = exchange.getRelation();
		if (relation != null) {
			removeNotificatoinsOf(relation);
		}
	}
	
	// Blockwise transfers are identified by URI and remote endpoint
	if (response.getOptions().hasBlock2()) {
		Request request = exchange.getCurrentRequest();
		KeyUri idByUri = new KeyUri(request.getURI(), response.getDestination().getAddress(), response.getDestinationPort());
		// Observe notifications only send the first block, hence do not store them as ongoing
		if (exchange.getResponseBlockStatus()!=null && !response.getOptions().hasObserve()) {
			// Remember ongoing blockwise GET requests
			if (ongoingExchanges.put(idByUri, exchange)==null) {
				LOGGER.fine("Ongoing Block2 started late, storing "+idByUri + " for " + request);
			} else {
				LOGGER.fine("Ongoing Block2 continued, storing "+idByUri + " for " + request);
			}
		} else {
			LOGGER.fine("Ongoing Block2 completed, cleaning up "+idByUri + " for " + request);
			ongoingExchanges.remove(idByUri);
		}
	}
	
	// Insert CON and NON to match ACKs and RSTs to the exchange.
	// Do not insert ACKs and RSTs.
	if (response.getType() == Type.CON || response.getType() == Type.NON) {
		KeyMID idByMID = new KeyMID(response.getMID(), null, 0);
		exchangesByMID.put(idByMID, exchange);
	}
	
	// Only CONs and Observe keep the exchange active
	if (response.getType() != Type.CON && response.isLast()) {
		exchange.setComplete();
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:49,代码来源:Matcher.java

示例4: completed

import org.eclipse.californium.core.coap.Response; //导入方法依赖的package包/类
@Override
		public void completed(Exchange exchange) {
			
			/* 
			 * Logging in this method leads to significant performance loss.
			 * Uncomment logging code only for debugging purposes.
			 */
			
			if (exchange.getOrigin() == Origin.LOCAL) {
				// this endpoint created the Exchange by issuing a request
				
				KeyMID idByMID = new KeyMID(exchange.getCurrentRequest().getMID(), null, 0);
				KeyToken idByToken = new KeyToken(exchange.getCurrentRequest().getToken());
				
//				LOGGER.fine("Exchange completed: Cleaning up "+idByTok);
				exchangesByToken.remove(idByToken);
				
				// in case an empty ACK was lost
				exchangesByMID.remove(idByMID);
			
			} else { // Origin.REMOTE
				// this endpoint created the Exchange to respond to a request

				Response response = exchange.getCurrentResponse();
				if (response != null && response.getType() != Type.ACK) {
					// only response MIDs are stored for ACK and RST, no reponse Tokens
					KeyMID midKey = new KeyMID(response.getMID(), null, 0);
//					LOGGER.fine("Remote ongoing completed, cleaning up "+midKey);
					exchangesByMID.remove(midKey);
				}
				
				Request request = exchange.getCurrentRequest();
				if (request != null && (request.getOptions().hasBlock1() || response.getOptions().hasBlock2()) ) {
					KeyUri uriKey = new KeyUri(request.getURI(), request.getSource().getAddress(), request.getSourcePort());
					LOGGER.fine("Remote ongoing completed, cleaning up "+uriKey);
					ongoingExchanges.remove(uriKey);
				}
				
				// Remove all remaining NON-notifications if this exchange is an observe relation
				ObserveRelation relation = exchange.getRelation();
				if (relation != null) {
					removeNotificatoinsOf(relation);
				}
			}
		}
 
开发者ID:iotoasis,项目名称:SI,代码行数:46,代码来源:Matcher.java


注:本文中的org.eclipse.californium.core.coap.Response.getMID方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。