@@ -50,13 +50,13 @@ enum TunnelState: Equatable, CustomStringConvertible {
50
50
case pendingReconnect
51
51
52
52
/// Connecting the tunnel.
53
- case connecting( SelectedRelay ? , isPostQuantum: Bool )
53
+ case connecting( SelectedRelays ? , isPostQuantum: Bool )
54
54
55
55
/// Negotiating a key for post-quantum resistance
56
- case negotiatingPostQuantumKey( SelectedRelay , PrivateKey )
56
+ case negotiatingPostQuantumKey( SelectedRelays , PrivateKey )
57
57
58
58
/// Connected the tunnel
59
- case connected( SelectedRelay , isPostQuantum: Bool )
59
+ case connected( SelectedRelays , isPostQuantum: Bool )
60
60
61
61
/// Disconnecting the tunnel
62
62
case disconnecting( ActionAfterDisconnect )
@@ -66,10 +66,10 @@ enum TunnelState: Equatable, CustomStringConvertible {
66
66
67
67
/// Reconnecting the tunnel.
68
68
/// Transition to this state happens when:
69
- /// 1. Asking the running tunnel to reconnect to new relay via IPC.
70
- /// 2. Tunnel attempts to reconnect to new relay as the current relay appears to be
69
+ /// 1. Asking the running tunnel to reconnect to new relays via IPC.
70
+ /// 2. Tunnel attempts to reconnect to new relays as the current relays appear to be
71
71
/// dysfunctional.
72
- case reconnecting( SelectedRelay , isPostQuantum: Bool )
72
+ case reconnecting( SelectedRelays , isPostQuantum: Bool )
73
73
74
74
/// Waiting for connectivity to come back up.
75
75
case waitingForConnectivity( WaitingForConnectionReason )
@@ -81,26 +81,26 @@ enum TunnelState: Equatable, CustomStringConvertible {
81
81
switch self {
82
82
case . pendingReconnect:
83
83
" pending reconnect after disconnect "
84
- case let . connecting( tunnelRelay , isPostQuantum) :
85
- if let tunnelRelay {
86
- " connecting \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelay . hostname) "
84
+ case let . connecting( tunnelRelays , isPostQuantum) :
85
+ if let tunnelRelays {
86
+ " connecting \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelays . exit . hostname) " // TODO: Multihop
87
87
} else {
88
88
" connecting \( isPostQuantum ? " (PQ) " : " " ) , fetching relay "
89
89
}
90
- case let . connected( tunnelRelay , isPostQuantum) :
91
- " connected \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelay . hostname) "
90
+ case let . connected( tunnelRelays , isPostQuantum) :
91
+ " connected \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelays . exit . hostname) " // TODO: Multihop
92
92
case let . disconnecting( actionAfterDisconnect) :
93
93
" disconnecting and then \( actionAfterDisconnect) "
94
94
case . disconnected:
95
95
" disconnected "
96
- case let . reconnecting( tunnelRelay , isPostQuantum) :
97
- " reconnecting \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelay . hostname) "
96
+ case let . reconnecting( tunnelRelays , isPostQuantum) :
97
+ " reconnecting \( isPostQuantum ? " (PQ) " : " " ) to \( tunnelRelays . exit . hostname) " // TODO: Multihop
98
98
case . waitingForConnectivity:
99
99
" waiting for connectivity "
100
100
case let . error( blockedStateReason) :
101
101
" error state: \( blockedStateReason) "
102
- case let . negotiatingPostQuantumKey( tunnelRelay , _) :
103
- " negotiating key with \( tunnelRelay . hostname) "
102
+ case let . negotiatingPostQuantumKey( tunnelRelays , _) :
103
+ " negotiating key with \( tunnelRelays . exit . hostname) " // TODO: Multihop
104
104
}
105
105
}
106
106
@@ -114,12 +114,12 @@ enum TunnelState: Equatable, CustomStringConvertible {
114
114
}
115
115
}
116
116
117
- var relay : SelectedRelay ? {
117
+ var relays : SelectedRelays ? {
118
118
switch self {
119
- case let . connected( relay , _) , let . reconnecting( relay , _) , let . negotiatingPostQuantumKey( relay , _) :
120
- relay
121
- case let . connecting( relay , _) :
122
- relay
119
+ case let . connected( relays , _) , let . reconnecting( relays , _) , let . negotiatingPostQuantumKey( relays , _) :
120
+ relays
121
+ case let . connecting( relays , _) :
122
+ relays
123
123
case . disconnecting, . disconnected, . waitingForConnectivity, . pendingReconnect, . error:
124
124
nil
125
125
}
0 commit comments