Skip to content

Commit 3f38241

Browse files
committed
don't pass route message handler to peer manager in channel manager constructor
1 parent 725a390 commit 3f38241

File tree

9 files changed

+667
-1771
lines changed

9 files changed

+667
-1771
lines changed

bindings/batteries/ChannelManagerConstructor.swift

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,10 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
117117
var messageHandler: MessageHandler!
118118
if let netGraph = net_graph {
119119
self.graph_msg_handler = NetGraphMsgHandler(network_graph: netGraph, chain_access: Option_AccessZ.none(), logger: logger)
120-
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: self.graph_msg_handler!.as_RoutingMessageHandler())
120+
121+
// messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: self.graph_msg_handler!.as_RoutingMessageHandler())
122+
// temporarily disable handling routing messages by the peer manager to avoid excessive memory growth
123+
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: noCustomMessages.as_RoutingMessageHandler())
121124
} else {
122125
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: noCustomMessages.as_RoutingMessageHandler())
123126
}
@@ -162,7 +165,11 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
162165
if let netGraph = net_graph {
163166
let noneOption = Option_AccessZ.none()
164167
self.graph_msg_handler = NetGraphMsgHandler(network_graph: netGraph, chain_access: noneOption, logger: logger)
165-
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: self.graph_msg_handler!.as_RoutingMessageHandler())
168+
169+
170+
// messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: self.graph_msg_handler!.as_RoutingMessageHandler())
171+
// temporarily disable handling routing messages by the peer manager to avoid excessive memory growth
172+
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: noCustomMessages.as_RoutingMessageHandler())
166173
} else {
167174
messageHandler = MessageHandler(chan_handler_arg: channelManager.as_ChannelMessageHandler(), route_handler_arg: noCustomMessages.as_RoutingMessageHandler())
168175
}

xcode/DirectBindingsApp/DirectBindingsApp/ContentView.swift

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import SwiftUI
1010
struct ContentView: View {
1111

1212
@State private var isRunningTestFlow = false
13+
14+
@State private var multiPeerSimulation: PolarIntegrationSample.MultiPeerSimulator? = nil
1315

1416
var body: some View {
1517

@@ -29,7 +31,30 @@ struct ContentView: View {
2931
Text("Hello World")
3032
}).disabled(self.isRunningTestFlow)
3133

32-
34+
if let simulation = self.multiPeerSimulation {
35+
Button {
36+
// self.multiPeerSimulation = nil
37+
Task {
38+
await self.multiPeerSimulation?.interrupt()
39+
40+
// freeing the simulation
41+
// try! await Task.sleep(nanoseconds: 5_000_000_000)
42+
// self.multiPeerSimulation = nil
43+
}
44+
} label: {
45+
Text("Stop multi-peer simulation")
46+
}
47+
} else {
48+
Button {
49+
self.multiPeerSimulation = PolarIntegrationSample.MultiPeerSimulator()
50+
Task {
51+
try? await self.multiPeerSimulation!.simulateMultiplePeers()
52+
}
53+
} label: {
54+
Text("Simulate multiple peers")
55+
}
56+
}
57+
3358
}
3459

3560
/*@StateObject private var experiment = PolarConnectionExperiment()

xcode/DirectBindingsApp/DirectBindingsApp/app-batteries/PolarIntegrationSample.swift

Lines changed: 632 additions & 392 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)