Skip to content

Commit 5a68bfa

Browse files
authored
Merge pull request #5 from rfree18/master
Peer connection bug fix
2 parents 3c92837 + efeb634 commit 5a68bfa

2 files changed

Lines changed: 4 additions & 6 deletions

File tree

Sources/MultipeerKit/Internal API/MultipeerConnection.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,17 +120,15 @@ extension MultipeerConnection: MCSessionDelegate {
120120

121121
let handler = invitationCompletionHandlers[peerID]
122122

123-
defer { invitationCompletionHandlers[peerID] = nil }
124-
125123
DispatchQueue.main.async {
126124
switch state {
127125
case .connected:
128126
handler?(.success(peer))
129-
127+
self.invitationCompletionHandlers[peerID] = nil
130128
self.didConnectToPeer?(peer)
131129
case .notConnected:
132130
handler?(.failure(MultipeerError(localizedDescription: "Failed to connect to peer.")))
133-
131+
self.invitationCompletionHandlers[peerID] = nil
134132
self.didDisconnectFromPeer?(peer)
135133
case .connecting:
136134
break

Sources/MultipeerKit/Public API/MultipeerTransceiver.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public final class MultipeerTransceiver {
151151
}
152152

153153
private func handlePeerRemoved(_ peer: Peer) {
154-
guard let idx = availablePeers.firstIndex(of: peer) else { return }
154+
guard let idx = availablePeers.firstIndex(where: { $0.underlyingPeer == peer.underlyingPeer }) else { return }
155155

156156
availablePeers.remove(at: idx)
157157
}
@@ -165,7 +165,7 @@ public final class MultipeerTransceiver {
165165
}
166166

167167
private func setConnected(_ connected: Bool, on peer: Peer) {
168-
guard let idx = availablePeers.firstIndex(of: peer) else { return }
168+
guard let idx = availablePeers.firstIndex(where: { $0.underlyingPeer == peer.underlyingPeer }) else { return }
169169

170170
var mutablePeer = availablePeers[idx]
171171
mutablePeer.isConnected = connected

0 commit comments

Comments
 (0)