@@ -32,6 +32,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
32
32
fileprivate var customEventHandler : EventHandler ?
33
33
fileprivate var net_graph : NetworkGraph ?
34
34
fileprivate var graph_msg_handler : NetGraphMsgHandler ?
35
+ fileprivate var scorer : MultiThreadedLockableScore ?
35
36
public var payer : InvoicePayer ?
36
37
public let peerManager : PeerManager
37
38
@@ -196,10 +197,12 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
196
197
197
198
self . customPersister = CustomChannelManagerPersister ( handler: persister)
198
199
self . customEventHandler = CustomEventHandler ( handler: persister)
199
- // let netGraphMessageHandler = NetGraphMsgHandler(pointer: LDKNetGraphMsgHandler(inner: nil, is_owned: false))
200
+ self . scorer = scorer
200
201
201
- if let netGraph = self . net_graph, let scorer = scorer {
202
+ if let netGraph = self . net_graph, let scorer = self . scorer {
202
203
let router = DefaultRouter ( network_graph: netGraph, logger: self . logger)
204
+ // either dangle router, or set is_owned to false
205
+ router. cOpaqueStruct!. is_owned = false
203
206
self . payer = InvoicePayer ( payer: self . channelManager. as_Payer ( ) , router: router. as_Router ( ) , scorer: scorer, logger: self . logger, event_handler: self . customEventHandler!, retry_attempts: RetryAttempts ( a_arg: 3 ) )
204
207
self . customEventHandler = self . payer!. as_EventHandler ( )
205
208
}
@@ -232,6 +235,8 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
232
235
}
233
236
print ( " removed background processor anchors " )
234
237
}
238
+ self . payer = nil
239
+ self . scorer = nil
235
240
self . backgroundProcessor = nil
236
241
print ( " unset background processor " )
237
242
}
0 commit comments