@@ -81,7 +81,7 @@ class MessageId:
81
81
"""
82
82
83
83
def __init__ (self , partition = - 1 , ledger_id = - 1 , entry_id = - 1 , batch_index = - 1 ):
84
- self ._msg_id = _pulsar .MessageId (partition , ledger_id , entry_id , batch_index )
84
+ self ._msg_id : _pulsar . MessageId = _pulsar .MessageId (partition , ledger_id , entry_id , batch_index )
85
85
86
86
earliest = _pulsar .MessageId .earliest
87
87
latest = _pulsar .MessageId .latest
@@ -111,6 +111,24 @@ def __str__(self) -> str:
111
111
"""
112
112
return str (self ._msg_id )
113
113
114
+ def __eq__ (self , other ) -> bool :
115
+ return self ._msg_id == other ._msg_id
116
+
117
+ def __ne__ (self , other ) -> bool :
118
+ return self ._msg_id != other ._msg_id
119
+
120
+ def __le__ (self , other ) -> bool :
121
+ return self ._msg_id <= other ._msg_id
122
+
123
+ def __lt__ (self , other ) -> bool :
124
+ return self ._msg_id < other ._msg_id
125
+
126
+ def __ge__ (self , other ) -> bool :
127
+ return self ._msg_id >= other ._msg_id
128
+
129
+ def __gt__ (self , other ) -> bool :
130
+ return self ._msg_id > other ._msg_id
131
+
114
132
@staticmethod
115
133
def deserialize (message_id_bytes ):
116
134
"""
@@ -119,6 +137,14 @@ def deserialize(message_id_bytes):
119
137
"""
120
138
return _pulsar .MessageId .deserialize (message_id_bytes )
121
139
140
+ @classmethod
141
+ def wrap (cls , msg_id : _pulsar .MessageId ):
142
+ """
143
+ Wrap the underlying MessageId type from the C extension to the Python type.
144
+ """
145
+ self = cls ()
146
+ self ._msg_id = msg_id
147
+ return self
122
148
123
149
class Message :
124
150
"""
@@ -170,9 +196,13 @@ def event_timestamp(self):
170
196
"""
171
197
return self ._message .event_timestamp ()
172
198
173
- def message_id (self ):
199
+ def message_id (self ) -> _pulsar . MessageId :
174
200
"""
175
201
The message ID that can be used to refer to this particular message.
202
+
203
+ Returns
204
+ ----------
205
+ A `_pulsar.MessageId` object that represents where the message is persisted.
176
206
"""
177
207
return self ._message .message_id ()
178
208
@@ -1231,7 +1261,7 @@ def send(self, content,
1231
1261
event_timestamp = None ,
1232
1262
deliver_at = None ,
1233
1263
deliver_after = None ,
1234
- ):
1264
+ ) -> _pulsar . MessageId :
1235
1265
"""
1236
1266
Publish a message on the topic. Blocks until the message is acknowledged
1237
1267
@@ -1264,6 +1294,10 @@ def send(self, content,
1264
1294
The timestamp is milliseconds and based on UTC
1265
1295
deliver_after: optional
1266
1296
Specify a delay in timedelta for the delivery of the messages.
1297
+
1298
+ Returns
1299
+ ----------
1300
+ A `_pulsar.MessageId` object that represents where the message is persisted.
1267
1301
"""
1268
1302
msg = self ._build_msg (content , properties , partition_key , ordering_key , sequence_id ,
1269
1303
replication_clusters , disable_replication , event_timestamp ,
@@ -1502,7 +1536,7 @@ def batch_receive(self):
1502
1536
messages .append (m )
1503
1537
return messages
1504
1538
1505
- def acknowledge (self , message ):
1539
+ def acknowledge (self , message : Union [ Message , MessageId , _pulsar . Message , _pulsar . MessageId ] ):
1506
1540
"""
1507
1541
Acknowledge the reception of a single message.
1508
1542
@@ -1511,7 +1545,7 @@ def acknowledge(self, message):
1511
1545
1512
1546
Parameters
1513
1547
----------
1514
- message : Message, _pulsar.Message, _pulsar.MessageId
1548
+ message : Message, MessageId, _pulsar.Message, _pulsar.MessageId
1515
1549
The received message or message id.
1516
1550
1517
1551
Raises
@@ -1521,10 +1555,12 @@ def acknowledge(self, message):
1521
1555
"""
1522
1556
if isinstance (message , Message ):
1523
1557
self ._consumer .acknowledge (message ._message )
1558
+ elif isinstance (message , MessageId ):
1559
+ self ._consumer .acknowledge (message ._msg_id )
1524
1560
else :
1525
1561
self ._consumer .acknowledge (message )
1526
1562
1527
- def acknowledge_cumulative (self , message ):
1563
+ def acknowledge_cumulative (self , message : Union [ Message , MessageId , _pulsar . Message , _pulsar . MessageId ] ):
1528
1564
"""
1529
1565
Acknowledge the reception of all the messages in the stream up to (and
1530
1566
including) the provided message.
@@ -1545,6 +1581,8 @@ def acknowledge_cumulative(self, message):
1545
1581
"""
1546
1582
if isinstance (message , Message ):
1547
1583
self ._consumer .acknowledge_cumulative (message ._message )
1584
+ elif isinstance (message , MessageId ):
1585
+ self ._consumer .acknowledge_cumulative (message ._msg_id )
1548
1586
else :
1549
1587
self ._consumer .acknowledge_cumulative (message )
1550
1588
0 commit comments