Skip to content

Class nebula::agnocast_wrapper::Client

template <typename ServiceT>

ClassList > nebula > agnocast_wrapper > Client

  • #include <nebula_agnocast_wrapper.hpp>

Inherited by the following classes: nebula::agnocast_wrapper::ROS2Client

Classes

Type Name
struct FutureAndRequestId
struct SharedFutureAndRequestId

Public Types

Type Name
typedef std::future< std::shared_ptr< const typename ServiceT ::Response > > Future
typedef std::shared_future< std::shared_ptr< const typename ServiceT ::Response > > SharedFuture
typedef std::shared_ptr< Client< ServiceT > > SharedPtr

Public Functions

Type Name
virtual std::shared_ptr< typename ServiceT ::Request > allocate_output_service_request () = 0
virtual FutureAndRequestId async_send_request (std::shared_ptr< typename ServiceT ::Request > && request) = 0
virtual SharedFutureAndRequestId async_send_request (std::shared_ptr< typename ServiceT ::Request > && request, std::function< void(SharedFuture)> callback) = 0
virtual const char * get_service_name () const = 0
virtual bool service_is_ready () const = 0
bool wait_for_service (std::chrono::duration< RepT, RatioT > timeout=std::chrono::nanoseconds(-1)) const
virtual ~Client () = default

Protected Functions

Type Name
virtual bool wait_for_service_impl (std::chrono::nanoseconds timeout) const = 0

Public Types Documentation

typedef Future

using nebula::agnocast_wrapper::Client< ServiceT >::Future =  std::future<std::shared_ptr<const typename ServiceT ::Response> >;

typedef SharedFuture

using nebula::agnocast_wrapper::Client< ServiceT >::SharedFuture =  std::shared_future<std::shared_ptr<const typename ServiceT ::Response> >;

typedef SharedPtr

using nebula::agnocast_wrapper::Client< ServiceT >::SharedPtr =  std::shared_ptr<Client<ServiceT> >;

Public Functions Documentation

function allocate_output_service_request

virtual std::shared_ptr< typename ServiceT ::Request > nebula::agnocast_wrapper::Client::allocate_output_service_request () = 0

function async_send_request [1/2]

virtual FutureAndRequestId nebula::agnocast_wrapper::Client::async_send_request (
    std::shared_ptr< typename ServiceT ::Request > && request
) = 0

function async_send_request [2/2]

virtual SharedFutureAndRequestId nebula::agnocast_wrapper::Client::async_send_request (
    std::shared_ptr< typename ServiceT ::Request > && request,
    std::function< void( SharedFuture )> callback
) = 0

function get_service_name

virtual const char * nebula::agnocast_wrapper::Client::get_service_name () const = 0

function service_is_ready

virtual bool nebula::agnocast_wrapper::Client::service_is_ready () const = 0

function wait_for_service

template<typename RepT, typename RatioT>
inline bool nebula::agnocast_wrapper::Client::wait_for_service (
    std::chrono::duration< RepT, RatioT > timeout=std::chrono::nanoseconds(-1)
) const

function ~Client

virtual nebula::agnocast_wrapper::Client::~Client () = default

Protected Functions Documentation

function wait_for_service_impl

virtual bool nebula::agnocast_wrapper::Client::wait_for_service_impl (
    std::chrono::nanoseconds timeout
) const = 0


The documentation for this class was generated from the following file src/nebula_core/nebula_core_ros/include/nebula_core_ros/agnocast_wrapper/nebula_agnocast_wrapper.hpp