forked from TrueCloudLab/frostfs-sdk-go
[#291] container: Add ListStream to api
Since api was moved from `TrueCloudLab/frostfs-api-go` to sdk, moving changes from TrueCloudLab/frostfs-api-go#125 here. Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
This commit is contained in:
parent
81c423e709
commit
e3026d3f4c
11 changed files with 1699 additions and 491 deletions
|
@ -13,6 +13,7 @@ const (
|
|||
rpcContainerGet = "Get"
|
||||
rpcContainerDel = "Delete"
|
||||
rpcContainerList = "List"
|
||||
rpcContainerStream = "ListStream"
|
||||
rpcContainerGetEACL = "GetExtendedACL"
|
||||
rpcContainerUsedSpace = "AnnounceUsedSpace"
|
||||
)
|
||||
|
@ -80,3 +81,27 @@ func ListContainers(
|
|||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
type ListStreamResponseReader struct {
|
||||
r client.MessageReader
|
||||
}
|
||||
|
||||
func (r *ListStreamResponseReader) Read(resp *container.ListStreamResponse) error {
|
||||
return r.r.ReadMessage(resp)
|
||||
}
|
||||
|
||||
// ListContainersStream executes ContainerService.ListStream RPC.
|
||||
func ListContainersStream(
|
||||
cli *client.Client,
|
||||
req *container.ListStreamRequest,
|
||||
opts ...client.CallOption,
|
||||
) (*ListStreamResponseReader, error) {
|
||||
wc, err := client.OpenServerStream(cli, common.CallMethodInfoServerStream(serviceContainer, rpcContainerStream), req, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &ListStreamResponseReader{
|
||||
r: wc,
|
||||
}, nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue