20#ifndef FASTDDS_RTPS_TRANSPORT__SENDERRESOURCE_HPP
21#define FASTDDS_RTPS_TRANSPORT__SENDERRESOURCE_HPP
23#include <fastdds/rtps/common/Types.hpp>
30#include <fastdds/rtps/common/LocatorList.hpp>
31#include <fastdds/rtps/common/LocatorsIterator.hpp>
32#include <fastdds/rtps/transport/NetworkBuffer.hpp>
38class RTPSParticipantImpl;
65 const std::vector<NetworkBuffer>& buffers,
66 const uint32_t& total_bytes,
69 const std::chrono::steady_clock::time_point& max_blocking_time_point)
71 return send_buffers_lambda_(buffers, total_bytes, destination_locators_begin, destination_locators_end,
72 max_blocking_time_point);
82 clean_up.swap(rValueResource.clean_up);
107 int32_t transport_kind)
117 const std::vector<NetworkBuffer>&,
Class LocatorList, a Locator vector that doesn't allow duplicates.
Definition LocatorList.hpp:97
RAII object that encapsulates the Send operation over one chanel in an unknown transport.
Definition SenderResource.hpp:49
int32_t transport_kind_
Definition SenderResource.hpp:112
virtual ~SenderResource()=default
std::function< bool(const std::vector< NetworkBuffer > &, uint32_t, LocatorsIterator *destination_locators_begin, LocatorsIterator *destination_locators_end, const std::chrono::steady_clock::time_point &)> send_buffers_lambda_
Definition SenderResource.hpp:121
int32_t kind() const
Definition SenderResource.hpp:88
SenderResource(SenderResource &&rValueResource)
Resources can only be transfered through move semantics.
Definition SenderResource.hpp:79
SenderResource(int32_t transport_kind)
Definition SenderResource.hpp:106
std::function< void()> clean_up
Definition SenderResource.hpp:114
bool send(const std::vector< NetworkBuffer > &buffers, const uint32_t &total_bytes, LocatorsIterator *destination_locators_begin, LocatorsIterator *destination_locators_end, const std::chrono::steady_clock::time_point &max_blocking_time_point)
Sends to a destination locator, through the channel managed by this resource.
Definition SenderResource.hpp:64
virtual void add_locators_to_list(LocatorList_t &locators) const
Add locators representing the local endpoints managed by this sender resource.
Definition SenderResource.hpp:98
Provides a Locator's iterator interface that can be used by different Locator's containers.
Definition LocatorsIterator.hpp:33
A slice of data to be sent to one or more transports.
Definition NetworkBuffer.hpp:38