Skip to main content

upload_object

Function upload_object 

Source
pub async fn upload_object<E, C>(
    client: Arc<Client>,
    bucket: BucketId,
    key: String,
    source_path: PathBuf,
    request_id: String,
    channel: &E,
    registry: TransferRegistryHandle,
    lock_registry: Arc<LockRegistry>,
    multipart_table: Arc<MultipartTable>,
    transfer_concurrency_per_part: u32,
    profile_id: ProfileId,
    lock_ttl_secs: u64,
    cancel_flag: Arc<AtomicBool>,
    log: NotificationLogHandle,
    os_notifier: &OsNotifier<C>,
) -> Result<(), AppError>
Expand description

Upload source_path to bucket/key.

§Parameters

  • client — authenticated S3 client.
  • bucket — target bucket.
  • key — target S3 key.
  • source_path — local file to upload.
  • request_id — UUID v4 from TransferRegistry::register.
  • channel — event emitter.
  • registry — transfer registry for state updates.
  • lock_registry — resource lock registry.
  • multipart_table — redb multipart bookkeeping table.
  • transfer_concurrency_per_part — semaphore width for concurrent parts (default 4).
  • profile_id — used for lock scope and multipart records.
  • lock_ttl_secs — lock TTL.
  • cancel_flag — set to true when the caller wants cancellation.
  • log — in-app notification log for terminal-state notifications.
  • os_notifier — OS notification bridge (settings-gated internally).