@@ -203,6 +203,7 @@ internal final class InternalDefaultLiveCounter: Sendable {
203203 objectMessageSerialTimestamp: objectMessageSerialTimestamp,
204204 objectsPool: & objectsPool,
205205 logger: logger,
206+ clock: clock,
206207 userCallbackQueue: userCallbackQueue,
207208 )
208209 }
@@ -301,6 +302,7 @@ internal final class InternalDefaultLiveCounter: Sendable {
301302 objectMessageSerialTimestamp: Date ? ,
302303 objectsPool: inout ObjectsPool ,
303304 logger: Logger ,
305+ clock: SimpleClock ,
304306 userCallbackQueue: DispatchQueue ,
305307 ) {
306308 guard let applicableOperation = liveObjectMutableState. canApplyOperation ( objectMessageSerial: objectMessageSerial, objectMessageSiteCode: objectMessageSiteCode, logger: logger) else {
@@ -332,6 +334,18 @@ internal final class InternalDefaultLiveCounter: Sendable {
332334 let update = applyCounterIncOperation ( operation. counterOp)
333335 // RTLC7d2a
334336 liveObjectMutableState. emit ( update, on: userCallbackQueue)
337+ case . known( . objectDelete) :
338+ let dataBeforeApplyingOperation = data
339+
340+ // RTLC7d4
341+ applyObjectDeleteOperation (
342+ objectMessageSerialTimestamp: objectMessageSerialTimestamp,
343+ logger: logger,
344+ clock: clock,
345+ )
346+
347+ // RTLC7d4a
348+ liveObjectMutableState. emit ( . update( . init( amount: - dataBeforeApplyingOperation) ) , on: userCallbackQueue)
335349 default :
336350 // RTLC7d3
337351 logger. log ( " Operation \( operation) has unsupported action for LiveCounter; discarding " , level: . warn)
0 commit comments