userver: userver/ugrpc/client/graceful_stream_finish.hpp File Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
graceful_stream_finish.hpp File Reference

Detailed Description

Utilities to gracefully finish streams.

Definition in file graceful_stream_finish.hpp.

Go to the source code of this file.

#include <cstddef>
#include <exception>
#include <optional>
#include <userver/logging/log.hpp>
#include <userver/ugrpc/client/impl/graceful_stream_finish.hpp>
#include <userver/ugrpc/client/rpc.hpp>

Namespaces

namespace  ugrpc
 Asynchronous gRPC driver.
 
namespace  ugrpc::client
 Client-side utilities.
 

Functions

template<typename Response>
std::optional< std::size_t > ugrpc::client::ReadRemainingAndFinish (InputStream< Response > &stream) noexcept
 Read all remaining messages from the stream and call Finish.
 
template<typename Request, typename Response>
std::optional< std::size_t > ugrpc::client::ReadRemainingAndFinish (BidirectionalStream< Request, Response > &stream) noexcept
 Announce end-of-input to the server, read all remaining messages from the stream and call Finish.
 
template<typename Request, typename Response>
bool ugrpc::client::PingPongFinish (BidirectionalStream< Request, Response > &stream) noexcept
 Gracefully finish a ping-pong style interaction.