18#ifndef IOX_POSH_POPO_UNTYPED_PUBLISHER_IMPL_HPP
19#define IOX_POSH_POPO_UNTYPED_PUBLISHER_IMPL_HPP
21#include "iceoryx_posh/internal/popo/base_publisher.hpp"
22#include "iceoryx_posh/popo/sample.hpp"
30template <
typename BasePublisherType = BasePublisher<>>
50 cxx::expected<void*, AllocationError>
51 loan(
const uint32_t userPayloadSize,
52 const uint32_t userPayloadAlignment = iox::CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT,
53 const uint32_t userHeaderSize = iox::CHUNK_NO_USER_HEADER_SIZE,
54 const uint32_t userHeaderAlignment = iox::CHUNK_NO_USER_HEADER_ALIGNMENT)
noexcept;
61 void publish(
void*
const userPayload)
noexcept;
70 void release(
void*
const userPayload)
noexcept;
73 using BasePublisherType::port;
79#include "iceoryx_posh/internal/popo/untyped_publisher_impl.inl"
class for the identification of a communication event including information on the service,...
Definition service_description.hpp:81
The UntypedPublisherImpl class implements the untyped publisher API.
Definition untyped_publisher_impl.hpp:32
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.
void release(void *const userPayload) noexcept
Releases the ownership of the chunk provided by the user-payload pointer.
void publish(void *const userPayload) noexcept
Publish the provided memory chunk.
This struct is used to configure the publisher.
Definition publisher_options.hpp:33