Adopt batched timeline diffs and other RustSDK changes

This commit is contained in:
Stefan Ceriu
2023-08-01 16:55:59 +03:00
committed by Stefan Ceriu
parent ebb7436927
commit 28c2490910
11 changed files with 29 additions and 28 deletions
@@ -45,8 +45,8 @@ class RoomProxy: RoomProxyProtocol {
}
private var timelineListener: RoomTimelineListener?
private let updatesSubject = PassthroughSubject<TimelineDiff, Never>()
var updatesPublisher: AnyPublisher<TimelineDiff, Never> {
private let updatesSubject = PassthroughSubject<[TimelineDiff], Never>()
var updatesPublisher: AnyPublisher<[TimelineDiff], Never> {
updatesSubject.eraseToAnyPublisher()
}
@@ -80,8 +80,8 @@ class RoomProxy: RoomProxyProtocol {
timelineLimit: UInt32(SlidingSyncConstants.defaultTimelineLimit))
roomListItem.subscribe(settings: settings)
let timelineListener = RoomTimelineListener { [weak self] timelineDiff in
self?.updatesSubject.send(timelineDiff)
let timelineListener = RoomTimelineListener { [weak self] timelineDiffs in
self?.updatesSubject.send(timelineDiffs)
}
self.timelineListener = timelineListener
@@ -691,13 +691,13 @@ class RoomProxy: RoomProxyProtocol {
}
private final class RoomTimelineListener: TimelineListener {
private let onUpdateClosure: (TimelineDiff) -> Void
private let onUpdateClosure: ([TimelineDiff]) -> Void
init(_ onUpdateClosure: @escaping (TimelineDiff) -> Void) {
init(_ onUpdateClosure: @escaping ([TimelineDiff]) -> Void) {
self.onUpdateClosure = onUpdateClosure
}
func onUpdate(diff: TimelineDiff) {
func onUpdate(diff: [TimelineDiff]) {
onUpdateClosure(diff)
}
}
@@ -74,7 +74,7 @@ protocol RoomProxyProtocol {
/// Publishes the room's updates.
/// The thread on which this publisher sends the output isn't defined.
var updatesPublisher: AnyPublisher<TimelineDiff, Never> { get }
var updatesPublisher: AnyPublisher<[TimelineDiff], Never> { get }
var timelineProvider: RoomTimelineProviderProtocol { get }