-
Notifications
You must be signed in to change notification settings - Fork 9
Add CopyTo method #432
Description
Is your feature request related to a problem? Please describe.
In SDK we have task to add CopyTo method for some structures. The method makes a deep copy of the structure.
SDK wraps many api-go structures inside it and modifies them directly. Sometimes we have such situation
// "github.com/nspcc-dev/neofs-api-go/v2/container"
type Container struct {
v2 container.Container
}or even such one
// "github.com/nspcc-dev/neofs-api-go/v2/object"
type Object object.ObjectObject type is just a synonym for api-go type, but has a lot of methods. Making a deep copy of this type is possible. Although having such CopyTo method in the original api-go type would be very helpful.
Fortunately for this type all internal fields are available via getters/setters and making CopyTo in SDK is just a question of time.
Describe the solution you'd like
Implement CopyTo method directly in api-go repo. Right now in SDK implemented deep copy for the next strcutures:
github.com/nspcc-dev/neofs-api-go/v2/refs
- refs.ObjectID
- refs.Signature
- refs.ContainerID
- refs.Checksum
github.com/nspcc-dev/neofs-api-go/v2/session
- session.Token
github.com/nspcc-dev/neofs-api-go/v2/object
- object.SplitHeader
- object.Header
github.com/nspcc-dev/neofs-api-go/v2/netmap
- netmap.Filter
- netmap.Selector
- netmap.Replica
Additional context
SDK doesn't mind to share/give/move existing code from it to neo-go repo