Introduce patcher package #247

Merged
fyrchik merged 2 commits from aarifullin/frostfs-sdk-go:feat/patch/1 into master 2024-08-05 12:32:15 +00:00

2 commits

Author SHA1 Message Date
6504e83169 [#247] object: Introduce patcher package
All checks were successful
DCO / DCO (pull_request) Successful in 49s
Tests and linters / Tests (1.22) (pull_request) Successful in 54s
Tests and linters / Tests (1.21) (pull_request) Successful in 56s
Tests and linters / Lint (pull_request) Successful in 1m28s
* Introduce `patcher` package that contains such interfaces to be
  implemented:
  - `PatchApplier` - the main patching engine that merges the stream
    of patches and the stream of original object payload divided by
    ranges. The merged streams result is output to `ChunkedObjectWriter`;
  - `RangeProvider` - provides the original object payload by ranges;
  - `HeaderProvider` - provides the original object header.
* Introduce `patcher` that implements `PatchApplier`;
* Cover all possible cases with unit-tests.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-08-05 11:18:48 +03:00
3040e35b27 [#247] object: Introduce Patch type
* Make ToV2, FromV2 converters for Patch and PayloadPatch;
* Add unit-tests.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-08-05 11:14:44 +03:00