Client-side utilities. More...
Classes | |
class | AbortedError |
class | AlreadyExistsError |
class | BaseError |
Base exception for all the client errors. More... | |
class | BidirectionalStream |
Controls a request stream -> response stream RPC. More... | |
class | CallAnyBase |
Base class for any RPC. More... | |
class | CancelledError |
Concrete errors for all the error codes. More... | |
class | ClientFactory |
Creates generated gRPC clients. Has a minimal built-in channel cache: as long as a channel to the same endpoint is used somewhere, the same channel is given out. More... | |
class | ClientFactoryComponent |
Provides a ClientFactory in the component system. More... | |
struct | ClientFactoryConfig |
Settings relating to the ClientFactory. More... | |
class | DataLossError |
class | DeadlineExceededError |
class | ErrorWithStatus |
Error with grpc::Status details. More... | |
class | FailedPreconditionError |
class | InputStream |
Controls a single request -> response stream RPC. More... | |
class | InternalError |
class | InvalidArgumentError |
class | MiddlewareBase |
Base class for server gRPC middleware. More... | |
class | MiddlewareCallContext |
Context for middleware-specific data during gRPC call. More... | |
class | MiddlewareComponentBase |
Base class for client middleware component. More... | |
class | MiddlewareFactoryBase |
Factory that creates specific client middlewares for clients. More... | |
class | NotFoundError |
class | OutOfRangeError |
class | OutputStream |
Controls a request stream -> single response RPC. More... | |
class | PermissionDeniedError |
struct | Qos |
class | QueueHolder |
Manages a gRPC completion queue, usable only in clients. More... | |
class | ResourceExhaustedError |
class | RpcCancelledError |
RPC failed due to task cancellation. More... | |
class | RpcError |
Error during an RPC. More... | |
class | RpcInterruptedError |
RPC failed without a status. This means that either the call got cancelled using TryCancel , the deadline has expired, or the channel is broken. More... | |
class | SimpleClientComponent |
Template class for a simple gRPC client. More... | |
class | StreamReadFuture |
StreamReadFuture for waiting a single read response from stream. More... | |
class | UnaryCall |
Controls a single request -> single response RPC. More... | |
class | UnaryFuture |
UnaryFuture for waiting a single response RPC. More... | |
class | UnauthenticatedError |
class | UnavailableError |
class | UnimplementedError |
class | UnknownError |
Typedefs | |
using | ClientQos = dynamic_config::ValueDict< Qos > |
using | MiddlewareFactories = std::vector< std::shared_ptr< const MiddlewareFactoryBase > > |
using | Middlewares = std::vector< std::shared_ptr< const MiddlewareBase > > |
A chain of middlewares. | |
Functions | |
std::shared_ptr< grpc::Channel > | MakeChannel (engine::TaskProcessor &blocking_task_processor, std::shared_ptr< grpc::ChannelCredentials > channel_credentials, const std::string &endpoint) |
Create a new gRPC channel (connection pool) for the endpoint. | |
template<typename Client > | |
bool | TryWaitForConnected (Client &client, engine::Deadline deadline, engine::TaskProcessor &blocking_task_processor) |
Wait until the channel state of client is READY . If the current state is already READY , returns true immediately. In case of multiple underlying channels, waits for all of them. | |
ClientFactoryConfig | Parse (const yaml_config::YamlConfig &value, formats::parse::To< ClientFactoryConfig >) |
Qos | Parse (const formats::json::Value &value, formats::parse::To< Qos >) |
void | ApplyQos (grpc::ClientContext &context, const Qos &qos, const testsuite::GrpcControl &testsuite_control) |
Client-side utilities.
using ugrpc::client::ClientQos = typedef dynamic_config::ValueDict<Qos> |
Definition at line 10 of file client_qos.hpp.
typedef std::vector< std::shared_ptr< const MiddlewareFactoryBase > > ugrpc::client::MiddlewareFactories |
using ugrpc::client::Middlewares = typedef std::vector<std::shared_ptr<const MiddlewareBase> > |
std::shared_ptr< grpc::Channel > ugrpc::client::MakeChannel | ( | engine::TaskProcessor & | blocking_task_processor, |
std::shared_ptr< grpc::ChannelCredentials > | channel_credentials, | ||
const std::string & | endpoint | ||
) |
Create a new gRPC channel (connection pool) for the endpoint.
Channel creation is expensive, reuse channels if possible.
Each channel is fully thread-safe: it can be used across multiple threads, possibly from multiple clients and using multiple CompletionQueue
instances at the same time.
blocking_task_processor | task processor for blocking channel creation |
channel_credentials | channel credentials |
endpoint | string host:port |
bool ugrpc::client::TryWaitForConnected | ( | Client & | client, |
engine::Deadline | deadline, | ||
engine::TaskProcessor & | blocking_task_processor | ||
) |
Wait until the channel state of client
is READY
. If the current state is already READY
, returns true
immediately. In case of multiple underlying channels, waits for all of them.
true
if the state changed before deadline
expired Definition at line 54 of file channels.hpp.