pulsar-client-cpp
Loading...
Searching...
No Matches
MessageRoutingPolicy.h
1
19#ifndef PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
20#define PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
21
22#include <pulsar/defines.h>
23#include <pulsar/DeprecatedException.h>
24#include <pulsar/Message.h>
25#include <pulsar/TopicMetadata.h>
26#include <memory>
27
28/*
29 * Implement this interface to define custom policy giving message to
30 * partition mapping.
31 */
32namespace pulsar {
33
34class PULSAR_PUBLIC MessageRoutingPolicy {
35 public:
36 virtual ~MessageRoutingPolicy() {}
37
41 virtual int getPartition(const Message& msg) {
43 "Use int getPartition(const Message& msg,"
44 " const TopicMetadata& topicMetadata)");
45 }
46
54 virtual int getPartition(const Message& msg, const TopicMetadata& topicMetadata) {
55 return getPartition(msg);
56 }
57};
58
59typedef std::shared_ptr<MessageRoutingPolicy> MessageRoutingPolicyPtr;
60} // namespace pulsar
61
62#endif // PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
Definition: DeprecatedException.h:27
Definition: Message.h:42
Definition: MessageRoutingPolicy.h:34
virtual int getPartition(const Message &msg, const TopicMetadata &topicMetadata)
Definition: MessageRoutingPolicy.h:54
virtual int getPartition(const Message &msg)
Definition: MessageRoutingPolicy.h:41
Definition: TopicMetadata.h:28
Definition: Authentication.h:30