Retry private messages after Noise session replacement

This commit is contained in:
jack
2026-07-25 17:36:43 +02:00
committed by jack
parent 37e09393fa
commit ced9ac7610
10 changed files with 724 additions and 54 deletions
+8
View File
@@ -58,6 +58,9 @@ final class MockTransport: Transport {
var peerNicknames: [PeerID: String] = [:]
var peerFingerprints: [PeerID: String] = [:]
var peerNoiseStates: [PeerID: LazyHandshakeState] = [:]
/// Optional synchronous hook for send-ordering tests (for example, an ack
/// arriving before the router's send call returns).
var onSendPrivateMessage: (@MainActor (_ messageID: String) -> Void)?
private let mockKeychain = MockKeychain()
// MARK: - Transport Protocol Implementation
@@ -162,6 +165,11 @@ final class MockTransport: Transport {
func sendPrivateMessage(_ content: String, to peerID: PeerID, recipientNickname: String, messageID: String) {
sentPrivateMessages.append((content, peerID, recipientNickname, messageID))
if let onSendPrivateMessage {
MainActor.assumeIsolated {
onSendPrivateMessage(messageID)
}
}
}
func sendReadReceipt(_ receipt: ReadReceipt, to peerID: PeerID) {