Page MenuHomePhabricator

[services][backup] Scaffold blob client
ClosedPublic

Authored by bartek on Jan 4 2023, 9:02 AM.
Tags
None
Referenced Files
F3504222: D6165.id20577.diff
Fri, Dec 20, 7:50 AM
Unknown Object (File)
Wed, Dec 18, 11:27 PM
Unknown Object (File)
Wed, Dec 18, 7:54 PM
Unknown Object (File)
Sun, Dec 1, 1:14 AM
Unknown Object (File)
Sat, Nov 30, 10:09 AM
Unknown Object (File)
Sat, Nov 30, 10:08 AM
Unknown Object (File)
Sat, Nov 30, 12:52 AM
Unknown Object (File)
Sat, Nov 30, 12:52 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
No Lint Coverage
Unit
No Test Coverage

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.