forked from TrueCloudLab/frostfs-node
Ekaterina Lebedeva
df05057ed4
* Added new method for listing containers to container service. It opens stream and sends containers in batches. * Added TransportSplitter wrapper around ExecutionService to split container ID list read from contract in parts that are smaller than grpc max message size. Batch size can be changed in node configuration file (as in example config file). * Changed `container list` implementaion in cli: now ListStream is called by default. Old List is called only if ListStream is not implemented. * Changed `internalclient.ListContainersPrm`.`Account` to `OwnerID` since `client.PrmContainerList`.`Account` was renamed to `OwnerID` in sdk. Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
23 lines
815 B
Go
23 lines
815 B
Go
package container
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/util"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/container"
|
|
)
|
|
|
|
// Server is an interface of the FrostFS API Container service server.
|
|
type Server interface {
|
|
Put(context.Context, *container.PutRequest) (*container.PutResponse, error)
|
|
Get(context.Context, *container.GetRequest) (*container.GetResponse, error)
|
|
Delete(context.Context, *container.DeleteRequest) (*container.DeleteResponse, error)
|
|
List(context.Context, *container.ListRequest) (*container.ListResponse, error)
|
|
ListStream(*container.ListStreamRequest, ListStream) error
|
|
}
|
|
|
|
// ListStream is an interface of FrostFS API v2 compatible search streamer.
|
|
type ListStream interface {
|
|
util.ServerStream
|
|
Send(*container.ListStreamResponse) error
|
|
}
|