package putsvc import ( "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/core/client" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util" "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object_manager/placement" containerSDK "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object" ) type PutInitPrm struct { common *util.CommonPrm hdr *object.Object cnr containerSDK.Container traverseOpts []placement.Option relay func(client.NodeInfo, client.MultiAddressClient) error } type PutChunkPrm struct { chunk []byte } func (p *PutInitPrm) WithCommonPrm(v *util.CommonPrm) *PutInitPrm { if p != nil { p.common = v } return p } func (p *PutInitPrm) WithObject(v *object.Object) *PutInitPrm { if p != nil { p.hdr = v } return p } func (p *PutInitPrm) WithCopyNumber(v uint32) *PutInitPrm { if p != nil { p.traverseOpts = append(p.traverseOpts, placement.SuccessAfter(v)) } return p } func (p *PutInitPrm) WithRelay(f func(client.NodeInfo, client.MultiAddressClient) error) *PutInitPrm { if p != nil { p.relay = f } return p } func (p *PutChunkPrm) WithChunk(v []byte) *PutChunkPrm { if p != nil { p.chunk = v } return p }