Split Client.ObjectPutInit() into exported functions #132

Open
opened 2023-07-26 12:33:06 +00:00 by fyrchik · 0 comments

Client could mirror all RPCs directly.

High-level logic (such as client-side splitting) could be implemented as a function accepting some client interface.

This will simplify client and allow us to use it as a building block in other places (each method would call only a single RPC, so there is some predictability).

As an example, it would be easier to combine pool (failover logic), geo-aware placement, retries in object.PUT. All off this should be some logic on top of our client, and with a proper interface it would be much easier to test.

Refs #129, #123

Client could mirror all RPCs directly. High-level logic (such as client-side splitting) could be implemented as a function accepting some client interface. This will simplify client and allow us to use it as a building block in other places (each method would call only a single RPC, so there is some predictability). As an example, it would be easier to combine pool (failover logic), geo-aware placement, retries in `object.PUT`. All off this should be some logic on top of our client, and with a proper interface it would be much easier to test. Refs #129, #123
fyrchik added the
discussion
refactoring
labels 2023-07-26 12:33:06 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-sdk-go#132
There is no content yet.