Skip to content

Commit 489bc1a

Browse files
authored
Merge pull request #108 from arik-so/2023-05-improved-deinit-logging
Improve deinit logging
2 parents cc7336e + 12a72cd commit 489bc1a

File tree

478 files changed

+18714
-7444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

478 files changed

+18714
-7444
lines changed

ci/LDKSwift/Sources/LDKSwift/batteries/ChannelManagerConstructor.swift

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,15 @@ enum RouterUnavailableError: Error {
2323
case channelManagerInitializationMissingScorerOrNetworkGraph
2424
}
2525

26+
/// Argument used when deserializing ChannelManager instances. If the user has previously already taken it upon themselves to deserialize the NetworkGraph, the `instance`
27+
/// case may be used. Otherwise, `serialized` may be passed to have the deserializer handle the NetworkGraph, too.
28+
public enum NetworkGraphArgument {
29+
/// Use if you have a serialized NetworkGraph that should be deserialized.
30+
case serialized([UInt8])
31+
/// Use if you have already deserialized a NetworkGraph and wish to pass that instance here.
32+
case instance(NetworkGraph)
33+
}
34+
2635
public struct ChannelManagerConstructionParameters {
2736
public var config: UserConfig
2837
public var entropySource: EntropySource
@@ -109,7 +118,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
109118
public private(set) var channel_monitors: [(ChannelMonitor, [UInt8])]
110119

111120

112-
public init(channelManagerSerialized: [UInt8], channelMonitorsSerialized: [[UInt8]], netGraphSerialized: [UInt8]?, filter: Filter?, params: ChannelManagerConstructionParameters) throws {
121+
public init(channelManagerSerialized: [UInt8], channelMonitorsSerialized: [[UInt8]], networkGraph: NetworkGraphArgument, filter: Filter?, params: ChannelManagerConstructionParameters) throws {
113122

114123
self.constructionParameters = params
115124

@@ -141,7 +150,10 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
141150

142151
print("Collected channel monitors, reading channel manager")
143152

144-
if let serializedNetworkGraph = netGraphSerialized {
153+
switch networkGraph {
154+
case .instance(let graph):
155+
self.netGraph = graph
156+
case .serialized(let serializedNetworkGraph):
145157
let netGraphResult = NetworkGraph.read(ser: serializedNetworkGraph, arg: params.logger)
146158
if !netGraphResult.isOk(){
147159
throw InvalidSerializedDataError.invalidSerializedNetworkGraph
@@ -170,7 +182,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
170182

171183
let noCustomMessages = IgnoringMessageHandler()
172184
var messageHandler: MessageHandler!
173-
if let netGraph = netGraph, params.enableP2PGossip {
185+
if let netGraph = self.netGraph, params.enableP2PGossip {
174186
let p2pGossipSync = P2PGossipSync(networkGraph: netGraph, utxoLookup: nil, logger: params.logger)
175187
self.graphMessageHandler = GossipSync.initWithP2P(a: p2pGossipSync)
176188
messageHandler = MessageHandler(chanHandlerArg: channelManager.asChannelMessageHandler(), routeHandlerArg: p2pGossipSync.asRoutingMessageHandler(), onionMessageHandlerArg: noCustomMessages.asOnionMessageHandler())
@@ -186,7 +198,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
186198
}
187199
}
188200

189-
super.init(conflictAvoidingVariableName: 0)
201+
super.init(conflictAvoidingVariableName: 0, instantiationContext: "ChannelManagerConstructor.swift::\(#function):\(#line)")
190202
// try! self.peerManager.addAnchor(anchor: self)
191203
// try! self.channelManager.addAnchor(anchor: self)
192204

@@ -225,7 +237,7 @@ public class ChannelManagerConstructor: NativeTypeWrapper {
225237
let timestampSeconds = UInt32(NSDate().timeIntervalSince1970)
226238
self.peerManager = PeerManager(messageHandler: messageHandler, currentTime: timestampSeconds, ephemeralRandomData: random_data, logger: params.logger, customMessageHandler: noCustomMessages.asCustomMessageHandler(), nodeSigner: params.nodeSigner)
227239

228-
super.init(conflictAvoidingVariableName: 0)
240+
super.init(conflictAvoidingVariableName: 0, instantiationContext: "ChannelManagerConstructor.swift::\(#function):\(#line)")
229241
// try! self.peerManager.addAnchor(anchor: self)
230242
// try! self.channelManager.addAnchor(anchor: self)
231243
}
@@ -445,7 +457,7 @@ public class TCPPeerHandler {
445457
addressObject.sin_addr.s_addr = inet_addr(address)
446458

447459
let sin_length = UInt8(MemoryLayout.size(ofValue: addressObject))
448-
let publicKey = PublicKey(value: theirNodeId).cType!
460+
let publicKey = PublicKey(value: theirNodeId, instantiationContext: "ChannelManagerConstructor.swift::\(#function):\(#line)").cType!
449461

450462
let result = withUnsafePointer(to: &addressObject, { addressPointer in
451463

ci/LDKSwift/Tests/LDKSwiftTests/HumanObjectPeerTestInstance.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ public class HumanObjectPeerTestInstance {
375375
let port = UInt16(i)
376376
let bound = self.tcpSocketHandler!.bind(address: "127.0.0.1", port: port)
377377
if bound {
378-
print("Bound socket to port \(port) on attempt \(i)")
378+
print("Bound socket to port \(port) on attempt \(i-9999)")
379379
self.tcpPort = port
380380
return
381381
}

ci/LDKSwift/Tests/LDKSwiftTests/LDKSwiftTests.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,9 @@ class LDKSwiftTests: XCTestCase {
7070
txBroadcaster: broadcaster,
7171
logger: logger
7272
)
73-
let channelManagerConstructor = try ChannelManagerConstructor(channelManagerSerialized: serialized_channel_manager, channelMonitorsSerialized: serializedChannelMonitors, netGraphSerialized: nil, filter: filter, params: constructionParameters)
73+
74+
let networkGraph = NetworkGraph(network: .Regtest, logger: logger)
75+
let channelManagerConstructor = try ChannelManagerConstructor(channelManagerSerialized: serialized_channel_manager, channelMonitorsSerialized: serializedChannelMonitors, networkGraph: NetworkGraphArgument.instance(networkGraph), filter: filter, params: constructionParameters)
7476

7577
let channelManager = channelManagerConstructor.channelManager;
7678
let cmPersister = TestChannelManagerPersister(channelManager: channelManager)

ci/LDKSwift/Tests/LDKSwiftTests/TestChannelManagerPersister.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ class TestChannelManagerPersister : Persister, ExtendedChannelManagerPersister {
3030
override func persistScorer(scorer: Bindings.WriteableScore) -> Bindings.Result_NoneErrorZ {
3131
.initWithOk()
3232
}
33+
34+
override func persistGraph(networkGraph: Bindings.NetworkGraph) -> Bindings.Result_NoneErrorZ {
35+
.initWithOk()
36+
}
3337
}
3438

3539
class FloatingChannelManagerPersister : Persister{

0 commit comments

Comments
 (0)