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


Java Endpoint类代码示例

本文整理汇总了Java中org.eclipse.californium.core.network.Endpoint的典型用法代码示例。如果您正苦于以下问题:Java Endpoint类的具体用法?Java Endpoint怎么用?Java Endpoint使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Endpoint类属于org.eclipse.californium.core.network包,在下文中一共展示了Endpoint类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: EventServlet

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
public EventServlet(LeshanServer server, int securePort) {
    server.getRegistrationService().addListener(this.registrationListener);
    server.getObservationService().addListener(this.observationListener);

    // add an interceptor to each endpoint to trace all CoAP messages
    coapMessageTracer = new CoapMessageTracer(server.getRegistrationService());
    for (Endpoint endpoint : server.getCoapServer().getEndpoints()) {
        endpoint.addInterceptor(coapMessageTracer);
    }

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Registration.class, new RegistrationSerializer(securePort));
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}
 
开发者ID:IoTKETI,项目名称:IPE-LWM2M,代码行数:17,代码来源:EventServlet.java

示例2: getEffectiveEndpoint

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Returns the effective endpoint that the specified request is supposed to
 * be sent over. If an endpoint has explicitly been set to this CoapClient,
 * this endpoint will be used. If no endpoint has been set, the client will
 * effectively use a default endpoint of the {@link EndpointManager}.
 * 
 * @param request the request to be sent
 * @return the effective endpoint that the request is going o be sent over.
 */
protected Endpoint getEffectiveEndpoint(Request request) {
	Endpoint myEndpoint = getEndpoint();
	
	// custom endpoint
	if (myEndpoint != null) return myEndpoint;
	
	// default endpoints
	if (CoAP.COAP_SECURE_URI_SCHEME.equals(request.getScheme())) {
		// this is the case when secure coap is supposed to be used
		return EndpointManager.getEndpointManager().getDefaultSecureEndpoint();
	} else {
		// this is the normal case
		return EndpointManager.getEndpointManager().getDefaultEndpoint();
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:25,代码来源:CoapClient.java

示例3: setEndpoint

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Sets the endpoint this client is supposed to use.
 *
 * @param endpoint the endpoint
 * @return the CoAP client
 */
public CoapClient setEndpoint(Endpoint endpoint) {
			
	this.endpoint = endpoint;
	
	if (!endpoint.isStarted()) {
		try {
			endpoint.start();
			LOGGER.log(Level.INFO, "Started set client endpoint " + endpoint.getAddress());
		} catch (IOException e) {
			LOGGER.log(Level.SEVERE, "Could not set and start client endpoint", e);
		}
		
	}
	
	return this;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:23,代码来源:CoapClient.java

示例4: EventServlet

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
public EventServlet(LeshanServer server, int securePort) {
    this.server = server;
    server.getClientRegistry().addListener(this.clientRegistryListener);
    server.getObservationRegistry().addListener(this.observationRegistryListener);

    // add an interceptor to each endpoint to trace all CoAP messages
    coapMessageTracer = new CoapMessageTracer(server.getClientRegistry());
    for (Endpoint endpoint : server.getCoapServer().getEndpoints()) {
        endpoint.addInterceptor(coapMessageTracer);
    }

    GsonBuilder gsonBuilder = new GsonBuilder();
    gsonBuilder.registerTypeHierarchyAdapter(Client.class, new ClientSerializer(securePort));
    gsonBuilder.registerTypeHierarchyAdapter(LwM2mNode.class, new LwM2mNodeSerializer());
    gsonBuilder.setDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
    this.gson = gsonBuilder.create();
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:18,代码来源:EventServlet.java

示例5: AllInterfacesCoapServer

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Creates a new AllInterfacesCoapServer which listens on all available IP addresses.
 */
public AllInterfacesCoapServer() {
	addEndpoints();
	start();

	String interfaces = getEndpoints().stream().
			map(Endpoint::getAddress).
			map(a -> "[" + a.getHostString() + ":" + a.getPort() + "]")
			.collect(Collectors.joining(", "));


	logger.info("DCAF server running on " + interfaces + ".");
}
 
开发者ID:beduino-project,项目名称:dcaf-java,代码行数:16,代码来源:AllInterfacesCoapServer.java

示例6: synchronous

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
private CoapResponse synchronous(Request request, Endpoint outEndpoint) {
	try {
		Response response = send(request, outEndpoint).waitForResponse(getTimeout());
		if (response == null) return null;
		else return new CoapResponse(response);
	} catch (InterruptedException e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:10,代码来源:CoapClient.java

示例7: observeAndWait

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
private CoapObserveRelation observeAndWait(Request request, CoapHandler handler) {
	Endpoint outEndpoint = getEffectiveEndpoint(request);
	CoapObserveRelation relation = new CoapObserveRelation(request, outEndpoint);
	request.addMessageObserver(new ObserveMessageObserverImpl(handler, relation));
	CoapResponse response = synchronous(request, outEndpoint);
	if (response == null || !response.advanced().getOptions().hasObserve())
		relation.setCanceled(true);
	relation.setCurrent(response);
	return relation;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:11,代码来源:CoapClient.java

示例8: observe

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
private CoapObserveRelation observe(Request request, CoapHandler handler) {
	Endpoint outEndpoint = getEffectiveEndpoint(request);
	CoapObserveRelation relation = new CoapObserveRelation(request, outEndpoint);
	request.addMessageObserver(new ObserveMessageObserverImpl(handler, relation));
	send(request, outEndpoint);
	return relation;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:8,代码来源:CoapClient.java

示例9: send

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Sends the specified request over the specified endpoint.
 * 
 * @param request the request
 * @param outEndpoint the endpoint
 * @return the request
 */
protected Request send(Request request, Endpoint outEndpoint) {
	// use the specified message type
	request.setType(this.type);

	if (blockwise!=0) {
		request.getOptions().setBlock2(new BlockOption(BlockOption.size2Szx(this.blockwise), false, 0));
	}
	
	outEndpoint.sendRequest(request);
	return request;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:19,代码来源:CoapClient.java

示例10: CoapServer

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Constructs a server with the specified configuration that listens to the
 * specified ports after method {@link #start()} is called.
 *
 * @param config the configuration, if <code>null</code> the configuration returned by
 * {@link NetworkConfig#getStandard()} is used.
 * @param ports the ports to bind to
 */
public CoapServer(NetworkConfig config, int... ports) {
	
	// global configuration that is passed down (can be observed for changes)
	if (config != null) {
		this.config = config;
	} else {
		this.config = NetworkConfig.getStandard();
	}
	
	// resources
	this.root = createRoot();
	this.deliverer = new ServerMessageDeliverer(root);
	
	CoapResource well_known = new CoapResource(".well-known");
	well_known.setVisible(false);
	well_known.add(new DiscoveryResource(root));
	root.add(well_known);
	
	// endpoints
	this.endpoints = new ArrayList<Endpoint>();
	// sets the central thread pool for the protocol stage over all endpoints
	this.executor = Executors.newScheduledThreadPool( config.getInt(NetworkConfig.Keys.PROTOCOL_STAGE_THREAD_COUNT) );
	// create endpoint for each port
	for (int port:ports)
		addEndpoint(new CoapEndpoint(port, this.config));
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:35,代码来源:CoapServer.java

示例11: setExecutor

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
public void setExecutor(ScheduledExecutorService executor) {
	
	if (this.executor!=null) this.executor.shutdown();
	
	this.executor = executor;
	for (Endpoint ep:endpoints)
		ep.setExecutor(executor);
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:9,代码来源:CoapServer.java

示例12: start

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Starts the server by starting all endpoints this server is assigned to.
 * Each endpoint binds to its port. If no endpoint is assigned to the
 * server, an endpoint is started on the port defined in the config.
 */
@Override
public void start() {
	
	LOGGER.info("Starting server");
	
	if (endpoints.isEmpty()) {
		// servers should bind to the configured port (while clients should use an ephemeral port through the default endpoint)
		int port = config.getInt(NetworkConfig.Keys.COAP_PORT);
		LOGGER.info("No endpoints have been defined for server, setting up server endpoint on default port " + port);
		addEndpoint(new CoapEndpoint(port, this.config));
	}
	
	int started = 0;
	for (Endpoint ep:endpoints) {
		try {
			ep.start();
			// only reached on success
			++started;
		} catch (IOException e) {
			LOGGER.severe(e.getMessage() + " at " + ep.getAddress());
		}
	}
	if (started==0) {
		throw new IllegalStateException("None of the server endpoints could be started");
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:32,代码来源:CoapServer.java

示例13: stop

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Stops the server, i.e., unbinds it from all ports. Frees as much system
 * resources as possible to still be able to be re-started with the previous binds.
 */
@Override
public void stop() {
	LOGGER.info("Stopping server");
	for (Endpoint ep:endpoints)
		ep.stop();
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:11,代码来源:CoapServer.java

示例14: destroy

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Destroys the server, i.e., unbinds from all ports and frees all system resources.
 */
@Override
public void destroy() {
	LOGGER.info("Destroy server");
	for (Endpoint ep:endpoints)
		ep.destroy();
	executor.shutdown(); // cannot be started again
	try {
		boolean succ = executor.awaitTermination(5, TimeUnit.SECONDS);
		if (!succ)
			LOGGER.warning("Server executor did not shutdown in time");
	} catch (InterruptedException e) {
		LOGGER.log(Level.WARNING, "Exception while terminating server executor", e);
	}
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:18,代码来源:CoapServer.java

示例15: getEndpoint

import org.eclipse.californium.core.network.Endpoint; //导入依赖的package包/类
/**
 * Returns the endpoint with a specific port.
 * @param port the port
 * @return the endpoint 
 */
@Override
public Endpoint getEndpoint(int port) {
	Endpoint endpoint = null;

	for (Endpoint ep : endpoints) {
		if (ep.getAddress().getPort() == port) {
			endpoint = ep;
		}
	}
	return endpoint;
}
 
开发者ID:iotoasis,项目名称:SI,代码行数:17,代码来源:CoapServer.java


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