pulsar-client-cpp
include
pulsar
MessageRoutingPolicy.h
1
19
#ifndef PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
20
#define PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
21
22
#include <pulsar/DeprecatedException.h>
23
#include <pulsar/Message.h>
24
#include <pulsar/TopicMetadata.h>
25
#include <memory>
26
27
#pragma GCC visibility push(default)
28
29
/*
30
* Implement this interface to define custom policy giving message to
31
* partition mapping.
32
*/
33
namespace
pulsar
{
34
35
class
MessageRoutingPolicy
{
36
public
:
37
virtual
~
MessageRoutingPolicy
() {}
38
42
virtual
int
getPartition
(
const
Message
& msg) {
43
throw
DeprecatedException
(
44
"Use int getPartition(const Message& msg,"
45
" const TopicMetadata& topicMetadata)"
);
46
}
47
48
virtual
int
getPartition
(
const
Message
& msg,
const
TopicMetadata
& topicMetadata) {
49
return
getPartition
(msg);
50
}
51
};
52
53
typedef
std::shared_ptr<MessageRoutingPolicy> MessageRoutingPolicyPtr;
54
}
// namespace pulsar
55
56
#pragma GCC visibility pop
57
58
#endif // PULSAR_MESSAGE_ROUTING_POLICY_HEADER_
pulsar::MessageRoutingPolicy::getPartition
virtual int getPartition(const Message &msg)
Definition:
MessageRoutingPolicy.h:42
pulsar::MessageRoutingPolicy
Definition:
MessageRoutingPolicy.h:35
pulsar::Message
Definition:
Message.h:43
pulsar::TopicMetadata
Definition:
TopicMetadata.h:28
pulsar::DeprecatedException
Definition:
DeprecatedException.h:28
pulsar
Definition:
Authentication.h:31
Generated by
1.8.16