C/C++ API Reference
Loading...
Searching...
No Matches
Synchronous API

Oveview

Main docs: Client synchronous call wrappers

Classes

class  pw::rpc::SynchronousCallResult< Response >
 

Functions

template<auto kRpcMethod, typename Response = typename internal::MethodInfo<kRpcMethod>::Response>
SynchronousCallResult< Response > pw::rpc::SynchronousCall (Client &client, uint32_t channel_id, const typename internal::MethodInfo< kRpcMethod >::Request &request)
 
template<auto kRpcMethod, typename GeneratedClient >
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCall (const GeneratedClient &client, const typename internal::MethodInfo< kRpcMethod >::Request &request)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCall (Client &client, uint32_t channel_id, ConstByteSpan request, Function< void(ConstByteSpan, Status)> &&on_completed)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCall (const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &client, ConstByteSpan request, Function< void(ConstByteSpan, Status)> &&on_completed)
 
template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallFor (Client &client, uint32_t channel_id, const typename internal::MethodInfo< kRpcMethod >::Request &request, chrono::SystemClock::duration timeout)
 
template<auto kRpcMethod, typename GeneratedClient >
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallFor (const GeneratedClient &client, const typename internal::MethodInfo< kRpcMethod >::Request &request, chrono::SystemClock::duration timeout)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCallFor (Client &client, uint32_t channel_id, ConstByteSpan request, chrono::SystemClock::duration timeout, Function< void(ConstByteSpan, Status)> &&on_completed)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCallFor (const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &client, ConstByteSpan request, chrono::SystemClock::duration timeout, Function< void(ConstByteSpan, Status)> &&on_completed)
 
template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallUntil (Client &client, uint32_t channel_id, const typename internal::MethodInfo< kRpcMethod >::Request &request, chrono::SystemClock::time_point deadline)
 
template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallUntil (const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &client, const typename internal::MethodInfo< kRpcMethod >::Request &request, chrono::SystemClock::time_point deadline)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCallUntil (Client &client, uint32_t channel_id, ConstByteSpan request, chrono::SystemClock::time_point deadline, Function< void(ConstByteSpan, Status)> &&on_completed)
 
template<auto kRpcMethod>
Status pw::rpc::SynchronousCallUntil (const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &client, ConstByteSpan request, chrono::SystemClock::time_point deadline, Function< void(ConstByteSpan, Status)> &&on_completed)
 

Function Documentation

◆ SynchronousCall() [1/4]

template<auto kRpcMethod, typename Response = typename internal::MethodInfo<kRpcMethod>::Response>
SynchronousCallResult< Response > pw::rpc::SynchronousCall ( Client client,
uint32_t  channel_id,
const typename internal::MethodInfo< kRpcMethod >::Request &  request 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks indefinitely until a response is received.

Parameters
clientThe pw::rpc::Client to use for the call
channel_idThe ID of the RPC channel to make the call on
requestThe proto struct to send as the request

◆ SynchronousCall() [2/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCall ( Client client,
uint32_t  channel_id,
ConstByteSpan  request,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received.

◆ SynchronousCall() [3/4]

template<auto kRpcMethod, typename GeneratedClient >
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCall ( const GeneratedClient &  client,
const typename internal::MethodInfo< kRpcMethod >::Request &  request 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks indefinitely until a response is received.

Parameters
clientThe generated service client to use for the call
requestThe proto struct to send as the request

◆ SynchronousCall() [4/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCall ( const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &  client,
ConstByteSpan  request,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received.

◆ SynchronousCallFor() [1/4]

template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallFor ( Client client,
uint32_t  channel_id,
const typename internal::MethodInfo< kRpcMethod >::Request &  request,
chrono::SystemClock::duration  timeout 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks until a response is received or the provided timeout passes.

Parameters
clientThe pw::rpc::Client to use for the call
channel_idThe ID of the RPC channel to make the call on
requestThe proto struct to send as the request
timeoutDuration to block for before returning with Timeout

◆ SynchronousCallFor() [2/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCallFor ( Client client,
uint32_t  channel_id,
ConstByteSpan  request,
chrono::SystemClock::duration  timeout,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received or the provided timeout passes.

◆ SynchronousCallFor() [3/4]

template<auto kRpcMethod, typename GeneratedClient >
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallFor ( const GeneratedClient &  client,
const typename internal::MethodInfo< kRpcMethod >::Request &  request,
chrono::SystemClock::duration  timeout 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks until a response is received or the provided timeout passes.

Parameters
clientThe generated service client to use for the call
requestThe proto struct to send as the request
timeoutDuration to block for before returning with Timeout

◆ SynchronousCallFor() [4/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCallFor ( const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &  client,
ConstByteSpan  request,
chrono::SystemClock::duration  timeout,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received or the provided timeout passes.

◆ SynchronousCallUntil() [1/4]

template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallUntil ( Client client,
uint32_t  channel_id,
const typename internal::MethodInfo< kRpcMethod >::Request &  request,
chrono::SystemClock::time_point  deadline 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks until a response is received or the provided deadline arrives.

Parameters
clientThe pw::rpc::Client to use for the call
channel_idThe ID of the RPC channel to make the call on
requestThe proto struct to send as the request
deadlineTimepoint to block until before returning with Timeout

◆ SynchronousCallUntil() [2/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCallUntil ( Client client,
uint32_t  channel_id,
ConstByteSpan  request,
chrono::SystemClock::time_point  deadline,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received or the provided deadline arrives.

◆ SynchronousCallUntil() [3/4]

template<auto kRpcMethod>
SynchronousCallResult< typename internal::MethodInfo< kRpcMethod >::Response > pw::rpc::SynchronousCallUntil ( const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &  client,
const typename internal::MethodInfo< kRpcMethod >::Request &  request,
chrono::SystemClock::time_point  deadline 
)

Invokes a unary RPC synchronously using Nanopb or pwpb. Blocks until a response is received or the provided deadline arrives.

Parameters
clientThe generated service client to use for the call
requestThe proto struct to send as the request
deadlineTimepoint to block until before returning with Timeout

◆ SynchronousCallUntil() [4/4]

template<auto kRpcMethod>
Status pw::rpc::SynchronousCallUntil ( const typename internal::MethodInfo< kRpcMethod >::GeneratedClient &  client,
ConstByteSpan  request,
chrono::SystemClock::time_point  deadline,
Function< void(ConstByteSpan, Status)> &&  on_completed 
)

Invokes a unary RPC synchronously using the raw API. Blocks until a response is received or the provided deadline arrives.