Class ReplicatedSubscriptionsController
- java.lang.Object
-
- org.apache.pulsar.broker.service.persistent.ReplicatedSubscriptionsController
-
- All Implemented Interfaces:
java.lang.AutoCloseable,Topic.PublishContext
public class ReplicatedSubscriptionsController extends java.lang.Object implements java.lang.AutoCloseable, Topic.PublishContext
Encapsulate all the logic of replicated subscriptions tracking for a given topic.
-
-
Constructor Summary
Constructors Constructor Description ReplicatedSubscriptionsController(PersistentTopic topic, java.lang.String localCluster)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcompleted(java.lang.Exception e, long ledgerId, long entryId)From Topic.PublishContext.java.util.Optional<java.lang.String>getLastCompletedSnapshotId()booleanisMarkerMessage()voidlocalSubscriptionUpdated(java.lang.String subscriptionName, org.apache.pulsar.common.api.proto.ReplicatedSubscriptionsSnapshot snapshot)voidreceivedReplicatedSubscriptionMarker(org.apache.bookkeeper.mledger.Position position, int markerType, io.netty.buffer.ByteBuf payload)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pulsar.broker.service.Topic.PublishContext
getHighestSequenceId, getNumberOfMessages, getOriginalHighestSequenceId, getOriginalProducerName, getOriginalSequenceId, getProducerName, getProperty, getSequenceId, isChunked, setMetadataFromEntryData, setOriginalHighestSequenceId, setOriginalProducerName, setOriginalSequenceId, setProperty
-
-
-
-
Constructor Detail
-
ReplicatedSubscriptionsController
public ReplicatedSubscriptionsController(PersistentTopic topic, java.lang.String localCluster)
-
-
Method Detail
-
receivedReplicatedSubscriptionMarker
public void receivedReplicatedSubscriptionMarker(org.apache.bookkeeper.mledger.Position position, int markerType, io.netty.buffer.ByteBuf payload)
-
localSubscriptionUpdated
public void localSubscriptionUpdated(java.lang.String subscriptionName, org.apache.pulsar.common.api.proto.ReplicatedSubscriptionsSnapshot snapshot)
-
getLastCompletedSnapshotId
public java.util.Optional<java.lang.String> getLastCompletedSnapshotId()
-
completed
public void completed(java.lang.Exception e, long ledgerId, long entryId)From Topic.PublishContext.- Specified by:
completedin interfaceTopic.PublishContext
-
isMarkerMessage
public boolean isMarkerMessage()
- Specified by:
isMarkerMessagein interfaceTopic.PublishContext
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable
-
-