userver: ugrpc::server::InputStream< Request, Response > Class Template Reference
Loading...
Searching...
No Matches
ugrpc::server::InputStream< Request, Response > Class Template Referencefinal

Controls a request stream -> single response RPC. More...

#include <userver/ugrpc/server/rpc.hpp>

+ Inheritance diagram for ugrpc::server::InputStream< Request, Response >:
+ Collaboration diagram for ugrpc::server::InputStream< Request, Response >:

Public Member Functions

bool Read (Request &request)
 Await and read the next incoming message.
 
void Finish (const Response &response)
 Complete the RPC successfully.
 
void FinishWithError (const grpc::Status &status) override
 Complete the RPC with an error.
 
 InputStream (impl::CallParams &&call_params, impl::RawReader< Request, Response > &stream)
 For internal use only.
 
 InputStream (InputStream &&)=delete
 
InputStreamoperator= (InputStream &&)=delete
 
bool IsFinished () const override
 
- Public Member Functions inherited from ugrpc::server::CallAnyBase
 CallAnyBase (impl::CallParams &&params)
 
grpc::ServerContext & GetContext ()
 
std::string_view GetCallName () const
 Name of the call. Consists of service and method names.
 
tracing::SpanGetSpan ()
 

Additional Inherited Members

- Protected Member Functions inherited from ugrpc::server::CallAnyBase
ugrpc::impl::RpcStatisticsScope & Statistics ()
 
logging::LoggerRef AccessTskvLogger ()
 
void LogFinish (grpc::Status status) const
 

Detailed Description

template<typename Request, typename Response>
class ugrpc::server::InputStream< Request, Response >

Controls a request stream -> single response RPC.

This class is not thread-safe except for GetContext.

The RPC is cancelled on destruction unless the stream has been finished.

If any method throws, further methods must not be called on the same stream, except for GetContext.

Definition at line 119 of file rpc.hpp.

Constructor & Destructor Documentation

◆ InputStream()

template<typename Request , typename Response >
ugrpc::server::InputStream< Request, Response >::InputStream ( impl::CallParams &&  call_params,
impl::RawReader< Request, Response > &  stream 
)

For internal use only.

Definition at line 323 of file rpc.hpp.

◆ ~InputStream()

template<typename Request , typename Response >
ugrpc::server::InputStream< Request, Response >::~InputStream ( )

Definition at line 328 of file rpc.hpp.

Member Function Documentation

◆ Finish()

template<typename Request , typename Response >
void ugrpc::server::InputStream< Request, Response >::Finish ( const Response &  response)

Complete the RPC successfully.

Finish must not be called multiple times for the same RPC.

Parameters
responsethe single Response to send to the client
Exceptions
ugrpc::server::RpcErroron an RPC error

Definition at line 348 of file rpc.hpp.

◆ FinishWithError()

template<typename Request , typename Response >
void ugrpc::server::InputStream< Request, Response >::FinishWithError ( const grpc::Status &  status)
overridevirtual

Complete the RPC with an error.

Finish must not be called multiple times for the same RPC.

Parameters
statuserror details
Exceptions
ugrpc::server::RpcErroron an RPC error

Implements ugrpc::server::CallAnyBase.

Definition at line 359 of file rpc.hpp.

◆ IsFinished()

template<typename Request , typename Response >
bool ugrpc::server::InputStream< Request, Response >::IsFinished ( ) const
overridevirtual

Implements ugrpc::server::CallAnyBase.

Definition at line 372 of file rpc.hpp.

◆ Read()

template<typename Request , typename Response >
bool ugrpc::server::InputStream< Request, Response >::Read ( Request &  request)

Await and read the next incoming message.

Parameters
requestwhere to put the request on success
Returns
true on success, false on end-of-input

Definition at line 336 of file rpc.hpp.


The documentation for this class was generated from the following file: