#include <userver/ugrpc/server/stream.hpp>
Interface to both read and write messages.
This class is not thread-safe
If any method throws, further methods must not be called on the same stream.
This class allows the following concurrent calls:
Read
;Write
and there can only be one Read and one Write in flight at a time.
If any method throws, further methods must not be called on the same stream.
Definition at line 67 of file stream.hpp.
Public Member Functions | |
virtual bool | Read (Request &request)=0 |
Await and read the next incoming message. | |
virtual void | Write (Response &response)=0 |
Write the next outgoing message. | |
virtual void | Write (Response &&response)=0 |
Write the next outgoing message. | |
|
pure virtualinherited |
Await and read the next incoming message.
request | where to put the request on success |
true
on success, false
on end-of-input ugrpc::server::RpcError | on an RPC error |
Implemented in ugrpc::server::InputStream< Request, Response >, and ugrpc::server::BidirectionalStream< Request, Response >.
|
pure virtualinherited |
Write the next outgoing message.
response | the next message to write |
ugrpc::server::RpcError | on an RPC error |
Implemented in ugrpc::server::OutputStream< Response >, and ugrpc::server::BidirectionalStream< Request, Response >.
|
pure virtualinherited |
Write the next outgoing message.
response | the next message to write |
ugrpc::server::RpcError | on an RPC error |
Implemented in ugrpc::server::OutputStream< Response >, and ugrpc::server::BidirectionalStream< Request, Response >.