29 lines
790 B
Go
29 lines
790 B
Go
|
package object
|
||
|
|
||
|
import (
|
||
|
"github.com/nspcc-dev/neofs-api-go/v2/object"
|
||
|
objectGRPC "github.com/nspcc-dev/neofs-api-go/v2/object/grpc"
|
||
|
)
|
||
|
|
||
|
type searchStreamerV2 struct {
|
||
|
objectGRPC.ObjectService_SearchServer
|
||
|
}
|
||
|
|
||
|
func (s *searchStreamerV2) Send(resp *object.SearchResponse) error {
|
||
|
return s.ObjectService_SearchServer.Send(
|
||
|
object.SearchResponseToGRPCMessage(resp),
|
||
|
)
|
||
|
}
|
||
|
|
||
|
// Search converts gRPC SearchRequest message and server-side stream and overtakes its data
|
||
|
// to gRPC stream.
|
||
|
func (s *Server) Search(req *objectGRPC.SearchRequest, gStream objectGRPC.ObjectService_SearchServer) error {
|
||
|
// TODO: think about how we transport errors through gRPC
|
||
|
return s.srv.Search(
|
||
|
object.SearchRequestFromGRPCMessage(req),
|
||
|
&searchStreamerV2{
|
||
|
ObjectService_SearchServer: gStream,
|
||
|
},
|
||
|
)
|
||
|
}
|