Split Client.ObjectPutInit() into exported functions #132

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

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 project
No assignees
1 participant
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
No description provided.