mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
[WIP] Business
This commit is contained in:
@@ -2997,6 +2997,8 @@ final class PostboxImpl {
|
||||
private func internalTransaction<T>(_ f: (Transaction) -> T) -> (result: T, updatedTransactionStateVersion: Int64?, updatedMasterClientId: Int64?) {
|
||||
let _ = self.isInTransaction.swap(true)
|
||||
|
||||
let startTime = CFAbsoluteTimeGetCurrent()
|
||||
|
||||
self.valueBox.begin()
|
||||
let transaction = Transaction(queue: self.queue, postbox: self)
|
||||
self.afterBegin(transaction: transaction)
|
||||
@@ -3005,6 +3007,12 @@ final class PostboxImpl {
|
||||
transaction.disposed = true
|
||||
self.valueBox.commit()
|
||||
|
||||
let endTime = CFAbsoluteTimeGetCurrent()
|
||||
let transactionDuration = endTime - startTime
|
||||
if transactionDuration > 0.1 {
|
||||
postboxLog("Postbox transaction took \(transactionDuration * 1000.0) ms")
|
||||
}
|
||||
|
||||
let _ = self.isInTransaction.swap(false)
|
||||
|
||||
if let currentUpdatedState = self.currentUpdatedState {
|
||||
@@ -3079,7 +3087,7 @@ final class PostboxImpl {
|
||||
switch chatLocation {
|
||||
case let .peer(peerId, threadId):
|
||||
return .single((.peer(peerId: peerId, threadId: threadId), false))
|
||||
case .thread(_, _, let data), .feed(_, let data):
|
||||
case .thread(_, _, let data):
|
||||
return Signal { subscriber in
|
||||
var isHoleFill = false
|
||||
return (data
|
||||
@@ -3089,6 +3097,9 @@ final class PostboxImpl {
|
||||
return (.external(value), wasHoleFill)
|
||||
}).start(next: subscriber.putNext, error: subscriber.putError, completed: subscriber.putCompletion)
|
||||
}
|
||||
case .customChatContents:
|
||||
assert(false)
|
||||
return .never()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user