7
7
8
8
import Foundation
9
9
10
- public class TCPPeerHandler : ObservableObject {
10
+ public class TCPPeerHandler {
11
11
12
12
private let peerManager : PeerManager
13
13
private let socketHandler : UnsafeMutableRawPointer ?
14
14
private var isBound = false
15
15
16
- init ( peerManager: PeerManager ) {
16
+ public init ( peerManager: PeerManager ) {
17
17
self . peerManager = peerManager
18
18
let socketHandler = withUnsafePointer ( to: self . peerManager. cOpaqueStruct!) { ( pointer: UnsafePointer < LDKPeerManager > ) -> UnsafeMutableRawPointer ? in
19
19
let socketHandler = init_socket_handling ( pointer)
@@ -22,9 +22,10 @@ public class TCPPeerHandler : ObservableObject {
22
22
self . socketHandler = socketHandler
23
23
}
24
24
25
- public func bind( address: String , port: UInt16 ) {
25
+ public func bind( address: String , port: UInt16 ) -> Bool {
26
26
if ( self . isBound) {
27
- return
27
+ // already bound
28
+ return false
28
29
}
29
30
self . isBound = true
30
31
var addressObject = sockaddr_in ( )
@@ -46,11 +47,14 @@ public class TCPPeerHandler : ObservableObject {
46
47
} )
47
48
if result != 0 {
48
49
// something failed
50
+ self . isBound = false
51
+ return false
49
52
}
53
+ return true
50
54
51
55
}
52
56
53
- public func connect( address: String , port: UInt16 , theirNodeId: [ UInt8 ] ) {
57
+ public func connect( address: String , port: UInt16 , theirNodeId: [ UInt8 ] ) -> Bool {
54
58
55
59
var addressObject = sockaddr_in ( )
56
60
addressObject. sin_len = UInt8 ( MemoryLayout . size ( ofValue: addressObject) )
@@ -73,7 +77,10 @@ public class TCPPeerHandler : ObservableObject {
73
77
74
78
if result != 0 {
75
79
// something failed
80
+ return false
76
81
}
82
+ return true
83
+
77
84
}
78
85
79
86
public func interrupt( ) {
0 commit comments