Swiftgram/submodules/Postbox/Sources/FailedMessagesView.swift
2019-12-23 13:32:03 +04:00

31 lines
736 B
Swift

final class MutableFailedMessageIdsView {
let peerId: PeerId
var ids: Set<MessageId>
init(peerId: PeerId, ids: [MessageId]) {
self.peerId = peerId
self.ids = Set(ids)
}
func replay(postbox: Postbox, transaction: PostboxTransaction) -> Bool {
let ids = transaction.updatedFailedMessageIds.filter { $0.peerId == self.peerId }
let updated = ids != self.ids
self.ids = ids
return updated
}
func immutableView() -> FailedMessageIdsView {
return FailedMessageIdsView(self.ids)
}
}
public final class FailedMessageIdsView {
public let ids: Set<MessageId>
fileprivate init(_ ids: Set<MessageId>) {
self.ids = ids
}
}