Page MenuHomePhabricator

[services][backup] Scaffold blob client
ClosedPublic

Authored by bartek on Jan 4 2023, 9:02 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 2, 12:32 AM
Unknown Object (File)
Apr 3 2024, 12:10 AM
Unknown Object (File)
Apr 3 2024, 12:10 AM
Unknown Object (File)
Apr 3 2024, 12:10 AM
Unknown Object (File)
Apr 3 2024, 12:10 AM
Unknown Object (File)
Apr 3 2024, 12:10 AM
Unknown Object (File)
Apr 2 2024, 11:59 PM
Unknown Object (File)
Apr 2 2024, 12:10 AM
Subscribers

Details

Summary

Added initial structure for blob client module, with submodules for get and put clients.
Scaffolded both client structs, usage of which is similiar to this, in both cases:

let client = GetClient::start(holder).await;

while let Some(data) = client.get().await { ... }
// or put() for PutClient

let result = client.terminate().await;

This was somehow inspired on C++ usage, which was like that:

blob_client_initialize_cxx()
blob_client_write_cxx()
blob_client_blocking_read_cxx()
blob_client_terminate_cxx()

Added basic comments to their methods, more detailed description and implementation is going to be added in subsequent diffs.

Depends on D6161

Test Plan

Service builds successfully. Added code does nothing yet.

Diff Detail

Repository
rCOMM Comm
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bartek held this revision as a draft.
bartek published this revision for review.Jan 4 2023, 9:21 AM
This revision is now accepted and ready to land.Jan 9 2023, 3:56 AM
This revision was automatically updated to reflect the committed changes.