Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f504e45

Browse files
authoredJun 2, 2025··
refactor(java,kotlin): use updateTransportConfig lambda to configure transports (#78)
* refactor: use updateTransportConfig closure/lambda to configure transports refactor: use updateTransportConfig closure/lambda to configure transports * refactor: remove redundant enableAllPeerToPeer() calls * docs: add comment why return is necessary in java
1 parent 3cc3403 commit f504e45

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed
 

‎android-java/app/src/main/java/com/example/dittotasks/MainActivity.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,13 @@ void initDitto() {
105105
DITTO_AUTH_URL);
106106
ditto = new Ditto(androidDependencies, identity);
107107

108-
// Set the Ditto Websocket URL
109-
DittoTransportConfig config = new DittoTransportConfig();
110-
config.getConnect().getWebsocketUrls().add(DITTO_WEBSOCKET_URL);
108+
ditto.updateTransportConfig(config -> {
109+
// Set the Ditto Websocket URL
110+
config.getConnect().getWebsocketUrls().add(DITTO_WEBSOCKET_URL);
111111

112-
// Enable all P2P transports
113-
config.enableAllPeerToPeer();
114-
ditto.setTransportConfig(config);
112+
// lambda must return Kotlin Unit which corresponds to 'void' in Java
113+
return kotlin.Unit.INSTANCE;
114+
});
115115

116116
// disable sync with v3 peers, required for DQL
117117
ditto.disableSyncWithV3();

‎android-kotlin/QuickStartTasks/app/src/main/java/live/ditto/quickstart/tasks/TasksApplication.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,10 @@ class TasksApplication : Application() {
5353
)
5454

5555
ditto = Ditto(androidDependencies, identity)
56-
57-
// Set the Ditto Websocket URL
58-
val transportConfig = DittoTransportConfig()
59-
transportConfig.connect.websocketUrls.add(webSocketURL)
60-
61-
// Enable all P2P transports
62-
transportConfig.enableAllPeerToPeer()
63-
ditto.transportConfig = transportConfig
56+
ditto.updateTransportConfig { config ->
57+
// Set the Ditto Websocket URL
58+
config.connect.websocketUrls.add(webSocketURL)
59+
}
6460

6561
// disable sync with v3 peers, required for DQL
6662
ditto.disableSyncWithV3()

‎java-spring/src/main/java/com/ditto/example/spring/quickstart/service/DittoService.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,18 +68,14 @@ public class DittoService implements DisposableBean {
6868
// disable sync with v3 peers, required for DQL
6969
this.ditto.disableSyncWithV3();
7070

71-
DittoTransportConfig transportConfig = new DittoTransportConfig.Builder()
72-
.connect(connect -> {
73-
// Set the Ditto Websocket URL
74-
connect.addWebsocketUrls(DittoSecretsConfiguration.DITTO_WEBSOCKET_URL);
75-
})
76-
.build();
77-
78-
logger.info("Transport config: {}", transportConfig);
79-
80-
this.ditto.setTransportConfig(
81-
transportConfig
82-
);
71+
this.ditto.updateTransportConfig(config -> {
72+
config.connect(connect -> {
73+
// Set the Ditto Websocket URL
74+
connect.websocketUrls().add(DittoSecretsConfiguration.DITTO_WEBSOCKET_URL);
75+
});
76+
77+
logger.info("Transport config: {}", config);
78+
});
8379

8480
presenceObserver = observePeersPresence();
8581

0 commit comments

Comments
 (0)
Please sign in to comment.