Skip to content

Commit 6a7e20e

Browse files
committed
use Matt's TCP peer handler init method
1 parent cc639f5 commit 6a7e20e

File tree

1 file changed

+49
-48
lines changed

1 file changed

+49
-48
lines changed

bindings/batteries/TCPPeerHandler.swift

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -16,86 +16,87 @@ public class TCPPeerHandler {
1616
public init(peerManager: PeerManager) {
1717
self.peerManager = peerManager
1818

19+
/*
1920
let socketHandler = withUnsafePointer(to: self.peerManager.cOpaqueStruct!) { (pointer: UnsafePointer<LDKPeerManager>) -> UnsafeMutableRawPointer? in
2021
let socketHandler = init_socket_handling(pointer)
2122
return socketHandler
2223
}
2324
self.socketHandler = socketHandler
24-
25+
*/
2526

2627

2728
// self.socketHandler = UnsafeMutableRawPointer(bitPattern: 0)
2829

2930

30-
/*
31+
3132
let thingz: UnsafeRawPointer = UnsafeRawPointer(&self.peerManager.cOpaqueStruct)
3233
print("TCPPeerHandler want address: \(thingz)")
3334
let ugh: UnsafePointer<LDKPeerManager> = thingz.assumingMemoryBound(to: LDKPeerManager.self)
3435
print("TCPPeerHandler want 2 address: \(ugh)")
3536
self.socketHandler = init_socket_handling(ugh)
36-
*/
37+
3738

3839
print("TCPPeerHandler self address: \(Unmanaged<TCPPeerHandler>.passUnretained(self).toOpaque())")
3940
}
4041

4142
public func bind(address: String, port: UInt16) -> Bool {
42-
if(self.isBound){
43-
// already bound
44-
return false
45-
}
46-
self.isBound = true
47-
var addressObject = sockaddr_in()
48-
addressObject.sin_family = sa_family_t(AF_INET)
49-
addressObject.sin_port = port.bigEndian
50-
51-
addressObject.sin_addr.s_addr = inet_addr(address)
52-
53-
let sin_length = UInt8(MemoryLayout.size(ofValue: addressObject))
54-
55-
let result = withUnsafePointer(to: &addressObject, { addressPointer in
56-
57-
addressPointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { addressSecondPointer -> Int32 in
58-
let addressMutablePointer = UnsafeMutablePointer(mutating: addressSecondPointer)
59-
let result = socket_bind(self.socketHandler, addressMutablePointer, socklen_t(sin_length))
60-
return result
61-
}
62-
})
63-
if result != 0 {
64-
// something failed
65-
self.isBound = false
66-
return false
67-
}
68-
return true
43+
if(self.isBound){
44+
// already bound
45+
return false
46+
}
47+
self.isBound = true
48+
var addressObject = sockaddr_in()
49+
addressObject.sin_family = sa_family_t(AF_INET)
50+
addressObject.sin_port = port.bigEndian
6951

52+
addressObject.sin_addr.s_addr = inet_addr(address)
53+
54+
let sin_length = UInt8(MemoryLayout.size(ofValue: addressObject))
55+
56+
let result = withUnsafePointer(to: &addressObject, { addressPointer in
57+
58+
addressPointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { addressSecondPointer -> Int32 in
59+
let addressMutablePointer = UnsafeMutablePointer(mutating: addressSecondPointer)
60+
let result = socket_bind(self.socketHandler, addressMutablePointer, socklen_t(sin_length))
61+
return result
62+
}
63+
})
64+
if result != 0 {
65+
// something failed
66+
self.isBound = false
67+
return false
7068
}
69+
return true
7170

72-
public func connect(address: String, port: UInt16, theirNodeId: [UInt8]) -> Bool {
71+
}
7372

74-
var addressObject = sockaddr_in()
75-
addressObject.sin_family = sa_family_t(AF_INET)
76-
addressObject.sin_port = port.bigEndian
73+
public func connect(address: String, port: UInt16, theirNodeId: [UInt8]) -> Bool {
7774

78-
addressObject.sin_addr.s_addr = inet_addr(address)
75+
var addressObject = sockaddr_in()
76+
addressObject.sin_family = sa_family_t(AF_INET)
77+
addressObject.sin_port = port.bigEndian
7978

80-
let sin_length = UInt8(MemoryLayout.size(ofValue: addressObject))
81-
let publicKey = Bindings.new_LDKPublicKey(array: theirNodeId)
79+
addressObject.sin_addr.s_addr = inet_addr(address)
8280

83-
let result = withUnsafePointer(to: &addressObject, { addressPointer in
81+
let sin_length = UInt8(MemoryLayout.size(ofValue: addressObject))
82+
let publicKey = Bindings.new_LDKPublicKey(array: theirNodeId)
8483

85-
addressPointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { addressSecondPointer -> Int32 in
86-
let addressMutablePointer = UnsafeMutablePointer(mutating: addressSecondPointer)
87-
let result = socket_connect(self.socketHandler, publicKey, addressMutablePointer, Int(socklen_t(sin_length)))
88-
return result
89-
}
90-
})
84+
let result = withUnsafePointer(to: &addressObject, { addressPointer in
9185

92-
if result != 0 {
93-
// something failed
94-
return false
86+
addressPointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { addressSecondPointer -> Int32 in
87+
let addressMutablePointer = UnsafeMutablePointer(mutating: addressSecondPointer)
88+
let result = socket_connect(self.socketHandler, publicKey, addressMutablePointer, Int(socklen_t(sin_length)))
89+
return result
9590
}
96-
return true
91+
})
9792

93+
if result != 0 {
94+
// something failed
95+
return false
9896
}
97+
return true
98+
99+
}
99100

100101
public func interrupt() {
101102
interrupt_socket_handling(self.socketHandler)

0 commit comments

Comments
 (0)