TrackedAssetUploadImpl

internal class TrackedAssetUploadImpl(val messageId: String, scope: CoroutineScope, retryOperation: suspend () -> TrackedAssetUpload, monitor: suspend () -> Unit, upload: suspend () -> Either<CoreFailure, Unit>, onCancelled: suspend () -> Unit, onFailed: suspend (CoreFailure) -> Unit = {}) : TrackedAssetUpload

Constructors

Link copied to clipboard
constructor(messageId: String, scope: CoroutineScope, retryOperation: suspend () -> TrackedAssetUpload, monitor: suspend () -> Unit, upload: suspend () -> Either<CoreFailure, Unit>, onCancelled: suspend () -> Unit, onFailed: suspend (CoreFailure) -> Unit = {})

Properties

Link copied to clipboard
open override val messageId: String
Link copied to clipboard
open override val operationId: String
Link copied to clipboard
open override val progress: StateFlow<AssetUploadProgress>

Functions

Link copied to clipboard
open suspend override fun awaitCompletion(): AssetUploadCompletion

Waits for upload, message send and monitor/cancellation cleanup. Cancelling the waiter does not cancel this operation.

Link copied to clipboard
open override fun cancel()
Link copied to clipboard
open suspend override fun retry(): TrackedAssetUpload

Retries a failed/cancelled attempt with the same persisted message. Active and successful attempts return themselves.