transformer: Simplify interface #110

Merged
fyrchik merged 1 commit from dstepanov-yadro/frostfs-sdk-go:feat/refactor-transformer into master 2023-07-11 07:33:13 +00:00

Use simple WriteObject method to actually write object.

Closes #64

Use simple `WriteObject` method to actually write object. Closes #64
dstepanov-yadro requested review from storage-core-committers 2023-07-07 12:37:01 +00:00
dstepanov-yadro requested review from storage-core-developers 2023-07-07 12:37:02 +00:00
fyrchik reviewed 2023-07-10 11:24:01 +00:00
@ -80,3 +67,1 @@
it.current.SetPayload(it.payload)
putSingleImplemented, err := it.tryPutSingle(ctx)
func (it *internalTarget) WriteObject(ctx context.Context, o *object.Object) (*transformer.AccessIdentifiers, error) {
Owner

Here we write a prepared object, do we need this transformer.AccessIdentifiers in the return value?

Here we write a prepared object, do we need this `transformer.AccessIdentifiers` in the return value?
Author
Member

No, fixed

No, fixed
fyrchik marked this conversation as resolved
@ -199,2 +179,3 @@
tt.current.SetPayload(tt.payload)
func (tt *testTarget) WriteObject(_ context.Context, o *objectSDK.Object) (*AccessIdentifiers, error) {
tt.current = o
tt.objects = append(tt.objects, tt.current)
Owner

So, it's just tt.objects = append(tt.object, o)? We set current to nil afterwards.

So, it's just `tt.objects = append(tt.object, o)`? We set current to `nil` afterwards.
Author
Member

Oops, fixed

Oops, fixed
fyrchik marked this conversation as resolved
@ -25,1 +24,3 @@
type ObjectTarget interface {
// ObjectChunkWriter is an interface of the object writer
// that writes object chunked.
type ObjectChunkWriter interface {
Owner

UnpreparedObjectWriter?

`UnpreparedObjectWriter`?
Author
Member

I don't understand what does Unprepared mean? WriteHeader requires objectSDK.Object, so actually I have to prepare object to use this interface.

Renamed to ChunkedObjectWriter, it looks closer to the truth.

I don't understand what does `Unprepared` mean? `WriteHeader` requires `objectSDK.Object`, so actually I have to prepare object to use this interface. Renamed to `ChunkedObjectWriter`, it looks closer to the truth.
fyrchik marked this conversation as resolved
dstepanov-yadro force-pushed feat/refactor-transformer from 182afc2913 to 272118af2c 2023-07-10 11:44:59 +00:00 Compare
fyrchik approved these changes 2023-07-10 17:14:06 +00:00
aarifullin reviewed 2023-07-11 07:12:52 +00:00
@ -38,3 +21,1 @@
if len(c.payload) != 0 {
c.header.SetPayload(slice.Copy(c.payload))
}
func (c *chanTarget) WriteObject(ctx context.Context, o *objectSDK.Object) error {
Member

Could you please put interface implementation check

var _ ObjectWriter = (chanTarget*)(nil)
Could you please put interface implementation check ``` var _ ObjectWriter = (chanTarget*)(nil) ```
aarifullin approved these changes 2023-07-11 07:14:52 +00:00
fyrchik merged commit c359a7465a into master 2023-07-11 07:33:13 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 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#110
No description provided.