func (s *OortValueStore) Read(ctx context.Context, req *valueproto.ReadRequest) (*valueproto.ReadResponse, error) { resp := valueproto.ReadResponse{Rpcid: req.Rpcid} var err error resp.TimestampMicro, resp.Value, err = s.vs.Read(ctx, req.KeyA, req.KeyB, resp.Value) if err != nil { resp.Err = proto.TranslateError(err) } return &resp, nil }
func (s *OortValueStore) StreamRead(stream valueproto.ValueStore_StreamReadServer) error { var resp valueproto.ReadResponse for { req, err := stream.Recv() if err == io.EOF { return nil } if err != nil { return err } resp.Reset() resp.Rpcid = req.Rpcid resp.TimestampMicro, resp.Value, err = s.vs.Read(stream.Context(), req.KeyA, req.KeyB, resp.Value) if err != nil { resp.Err = proto.TranslateError(err) } if err := stream.Send(&resp); err != nil { return err } } }