Skip to content

Commit

Permalink
GH-1395: Add a way to customize DTLS Config at ProtocolProvider level
Browse files Browse the repository at this point in the history
  • Loading branch information
sbernard31 committed Mar 8, 2023
1 parent 0d0b57c commit 95b344d
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,28 @@
import java.net.InetSocketAddress;
import java.net.URI;
import java.util.List;
import java.util.function.Consumer;

import org.eclipse.californium.core.config.CoapConfig;
import org.eclipse.californium.elements.config.Configuration;
import org.eclipse.californium.elements.config.Configuration.ModuleDefinitionsProvider;
import org.eclipse.californium.scandium.config.DtlsConnectorConfig;
import org.eclipse.leshan.core.endpoint.EndpointUriUtil;
import org.eclipse.leshan.core.endpoint.Protocol;
import org.eclipse.leshan.server.californium.bootstrap.endpoint.BootstrapServerProtocolProvider;
import org.eclipse.leshan.server.californium.bootstrap.endpoint.CaliforniumBootstrapServerEndpointFactory;

public class CoapsBootstrapServerProtocolProvider implements BootstrapServerProtocolProvider {

protected Consumer<DtlsConnectorConfig.Builder> dtlsConnectorConfigInitializer;

public CoapsBootstrapServerProtocolProvider() {
}

public CoapsBootstrapServerProtocolProvider(Consumer<DtlsConnectorConfig.Builder> dtlsConnectorConfigInitializer) {
this.dtlsConnectorConfigInitializer = dtlsConnectorConfigInitializer;
}

@Override
public Protocol getProtocol() {
return CoapsBootstrapServerEndpointFactory.getSupportedProtocol();
Expand All @@ -46,7 +57,8 @@ public List<ModuleDefinitionsProvider> getModuleDefinitionsProviders() {

@Override
public CaliforniumBootstrapServerEndpointFactory createDefaultEndpointFactory(URI uri) {
return new CoapsBootstrapServerEndpointFactory(uri);
return new CoapsBootstrapServerEndpointFactoryBuilder().setURI(uri)
.setDtlsConnectorConfig(dtlsConnectorConfigInitializer).build();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,28 @@
import java.net.InetSocketAddress;
import java.net.URI;
import java.util.List;
import java.util.function.Consumer;

import org.eclipse.californium.core.config.CoapConfig;
import org.eclipse.californium.elements.config.Configuration;
import org.eclipse.californium.elements.config.Configuration.ModuleDefinitionsProvider;
import org.eclipse.californium.scandium.config.DtlsConnectorConfig;
import org.eclipse.leshan.core.endpoint.EndpointUriUtil;
import org.eclipse.leshan.core.endpoint.Protocol;
import org.eclipse.leshan.server.californium.endpoint.CaliforniumServerEndpointFactory;
import org.eclipse.leshan.server.californium.endpoint.ServerProtocolProvider;

public class CoapsServerProtocolProvider implements ServerProtocolProvider {

protected Consumer<DtlsConnectorConfig.Builder> dtlsConnectorConfigInitializer;

public CoapsServerProtocolProvider() {
}

public CoapsServerProtocolProvider(Consumer<DtlsConnectorConfig.Builder> dtlsConnectorConfigInitializer) {
this.dtlsConnectorConfigInitializer = dtlsConnectorConfigInitializer;
}

@Override
public Protocol getProtocol() {
return CoapsServerEndpointFactory.getSupportedProtocol();
Expand All @@ -46,7 +57,8 @@ public List<ModuleDefinitionsProvider> getModuleDefinitionsProviders() {

@Override
public CaliforniumServerEndpointFactory createDefaultEndpointFactory(URI uri) {
return new CoapsServerEndpointFactory(uri);
return new CoapsServerEndpointFactoryBuilder().setURI(uri)
.setDtlsConnectorConfig(dtlsConnectorConfigInitializer).build();
}

@Override
Expand Down

0 comments on commit 95b344d

Please sign in to comment.