69 const std::string& name,
70 engine::TaskProcessor& producer_task_processor,
71 const impl::ProducerConfiguration& configuration,
72 const impl::Secret& secrets
82 Producer(
const Producer&) =
delete;
83 Producer(Producer&&) =
delete;
85 Producer& operator=(
const Producer&) =
delete;
86 Producer& operator=(Producer&&) =
delete;
107 std::string_view key,
108 std::string_view message,
110 HeaderViews headers = {}
129 template <
typename Messages>
131 std::is_convertible_v<
decltype(std::declval<
const Messages&>()[0]), std::string_view> &&
132 std::is_integral_v<
decltype(std::declval<
const Messages&>().size())>
136 std::string_view key,
137 const Messages& messages,
139 HeaderViews headers = {}
141 SendWrapper(topic_name, key, impl::MessagesAdapter{messages}, partition, std::move(headers));
153 std::string topic_name,
157 HeaderViews headers = {}
168 std::string_view key,
169 std::string_view message,
170 std::optional<std::uint32_t> partition,
171 impl::HeadersHolder&& headers_holder
176 std::string_view key,
177 const impl::Messages& messages,
178 std::optional<std::uint32_t> partition,
179 std::vector<impl::HeadersHolder>&& headers_holders
184 std::string_view key,
185 const impl::Messages& messages,
186 std::optional<std::uint32_t> partition,
190 const std::string name_;
191 engine::TaskProcessor& producer_task_processor_;
193 static constexpr std::size_t kImplSize{944};
194 static constexpr std::size_t kImplAlign{16};
195 utils::FastPimpl<impl::ProducerImpl, kImplSize, kImplAlign> producer_;