mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-cppkafka.git
				synced 2025-10-31 02:27:46 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef CPPKAFKA_PRODUCER_H
 | |
| #define CPPKAFKA_PRODUCER_H
 | |
| 
 | |
| #include <memory>
 | |
| #include "kafka_handle_base.h"
 | |
| #include "configuration.h"
 | |
| #include "buffer.h"
 | |
| #include "topic.h"
 | |
| #include "partition.h"
 | |
| 
 | |
| namespace cppkafka {
 | |
| 
 | |
| class Topic;
 | |
| class Buffer;
 | |
| class Partition;
 | |
| class TopicConfiguration;
 | |
| 
 | |
| class Producer : public KafkaHandleBase {
 | |
| public:
 | |
|     enum PayloadPolicy {
 | |
|         COPY_PAYLOAD = RD_KAFKA_MSG_F_COPY, ///< Means RD_KAFKA_MSG_F_COPY
 | |
|         FREE_PAYLOAD = RD_KAFKA_MSG_F_FREE  ///< Means RD_KAFKA_MSG_F_FREE
 | |
|     };
 | |
| 
 | |
|     Producer(Configuration config);
 | |
| 
 | |
|     void set_payload_policy(PayloadPolicy policy);
 | |
|     PayloadPolicy get_payload_policy() const;
 | |
| 
 | |
|     void produce(const Topic& topic, const Partition& partition, const Buffer& payload);
 | |
|     void produce(const Topic& topic, const Partition& partition, const Buffer& payload,
 | |
|                  const Buffer& key);
 | |
|     void produce(const Topic& topic, const Partition& partition, const Buffer& payload,
 | |
|                  const Buffer& key, void* user_data);
 | |
| private:
 | |
|     Configuration config_;
 | |
|     PayloadPolicy message_payload_policy_;
 | |
| };
 | |
| 
 | |
| } // cppkafka
 | |
| 
 | |
| #endif // CPPKAFKA_PRODUCER_H
 | 
