18 #ifndef IOX_POSH_POPO_UNTYPED_PUBLISHER_HPP
19 #define IOX_POSH_POPO_UNTYPED_PUBLISHER_HPP
21 #include "iceoryx_posh/popo/base_publisher.hpp"
22 #include "iceoryx_posh/popo/sample.hpp"
28 template <
typename BasePublisher_t = BasePublisher<>>
48 cxx::expected<void*, AllocationError>
49 loan(
const uint32_t userPayloadSize,
50 const uint32_t userPayloadAlignment = iox::CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT,
51 const uint32_t userHeaderSize = iox::CHUNK_NO_USER_HEADER_SIZE,
52 const uint32_t userHeaderAlignment = iox::CHUNK_NO_USER_HEADER_ALIGNMENT) noexcept;
59 void publish(
void*
const userPayload) noexcept;
68 void release(
void*
const userPayload) noexcept;
71 using BasePublisher_t::port;
79 #include "iceoryx_posh/internal/popo/untyped_publisher.inl"
class for the identification of a communication event including information on the service,...
Definition: service_description.hpp:86
Definition: untyped_publisher.hpp:30
void release(void *const userPayload) noexcept
Releases the ownership of the chunk provided by the user-payload pointer.
Definition: untyped_publisher.inl:58
void publish(void *const userPayload) noexcept
Publish the provided memory chunk.
Definition: untyped_publisher.inl:33
cxx::expected< void *, AllocationError > loan(const uint32_t userPayloadSize, const uint32_t userPayloadAlignment=iox::CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT, const uint32_t userHeaderSize=iox::CHUNK_NO_USER_HEADER_SIZE, const uint32_t userHeaderAlignment=iox::CHUNK_NO_USER_HEADER_ALIGNMENT) noexcept
Get a chunk from loaned shared memory.
Definition: untyped_publisher.inl:41
Definition: service_description.hpp:29
This struct is used to configure the publisher.
Definition: publisher_options.hpp:30