public interface Topic
| Modifier and Type | Interface and Description |
|---|---|
static interface |
Topic.PublishContext |
| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<Optional<Long>> |
addProducer(Producer producer,
CompletableFuture<Void> producerQueuedFuture)
Tries to add a producer to the topic.
|
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> |
addSchema(org.apache.pulsar.common.protocol.schema.SchemaData schema)
Add a schema to the topic.
|
CompletableFuture<Void> |
addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
If the topic is idle (no producers, no entries, no subscribers and no existing schema),
add the passed schema to the topic.
|
void |
checkBackloggedCursors()
Activate cursors those caught up backlog-threshold entries and deactivate slow cursors which are creating
backlog.
|
void |
checkDeduplicationSnapshot() |
void |
checkGC() |
CompletableFuture<Void> |
checkIfTransactionBufferRecoverCompletely(boolean isTxnEnabled)
Wait TransactionBuffer Recovers completely.
|
void |
checkInactiveSubscriptions() |
void |
checkMessageDeduplicationInfo() |
void |
checkMessageExpiry() |
CompletableFuture<Void> |
checkReplication() |
CompletableFuture<Void> |
checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.SchemaData schema)
Check if schema is compatible with current topic schema.
|
void |
checkTopicPublishThrottlingRate() |
CompletableFuture<Void> |
close(boolean closeWithoutWaitingClientDisconnect) |
CompletableFuture<Subscription> |
createSubscription(String subscriptionName,
org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition,
boolean replicateSubscriptionState) |
CompletableFuture<Void> |
delete() |
CompletableFuture<Void> |
deleteForcefully() |
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> |
deleteSchema()
Delete the schema if this topic has a schema defined for it.
|
void |
disableCnxAutoRead() |
void |
enableCnxAutoRead() |
CompletableFuture<Void> |
endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID,
int txnAction,
long lowWaterMark)
End the transaction in this topic.
|
org.apache.pulsar.common.policies.data.BacklogQuota |
getBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType) |
BrokerService |
getBrokerService()
Get BrokerService.
|
default Optional<DispatchRateLimiter> |
getDispatchRateLimiter() |
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> |
getInternalStats(boolean includeLedgerMetadata) |
CompletableFuture<org.apache.pulsar.client.api.MessageId> |
getLastMessageId() |
Position |
getLastPosition() |
String |
getName() |
Map<String,Producer> |
getProducers() |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Replicator> |
getReplicators() |
boolean |
getSchemaValidationEnforced() |
org.apache.pulsar.common.policies.data.stats.TopicStatsImpl |
getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize) |
Subscription |
getSubscription(String subscription) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Subscription> |
getSubscriptions() |
CompletableFuture<Boolean> |
hasSchema()
Whether a topic has had a schema defined for it.
|
long |
increasePublishLimitedTimes()
increase the publishing limited times.
|
void |
incrementPublishCount(int numOfMessages,
long msgSizeInBytes) |
CompletableFuture<Void> |
initialize() |
boolean |
isBacklogQuotaExceeded(String producerName,
org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType) |
boolean |
isBrokerPublishRateExceeded() |
boolean |
isEncryptionRequired() |
boolean |
isPersistent() |
boolean |
isPublishRateExceeded() |
boolean |
isReplicated() |
boolean |
isResourceGroupPublishRateExceeded(int msgSize,
int numMessages) |
boolean |
isResourceGroupRateLimitingEnabled() |
default boolean |
isSystemTopic() |
boolean |
isTopicPublishRateExceeded(int msgSize,
int numMessages) |
CompletableFuture<Void> |
onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data) |
void |
publishMessage(io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext callback) |
void |
publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
Publish Transaction message to this Topic's TransactionBuffer.
|
void |
recordAddLatency(long latency,
TimeUnit unit)
record add-latency.
|
void |
removeProducer(Producer producer) |
void |
resetBrokerPublishCountAndEnableReadIfRequired(boolean doneReset) |
void |
resetTopicPublishCountAndEnableReadIfRequired() |
CompletableFuture<Consumer> |
subscribe(TransportCnx cnx,
String subscriptionName,
long consumerId,
org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType,
int priorityLevel,
String consumerName,
boolean isDurable,
org.apache.pulsar.client.api.MessageId startMessageId,
Map<String,String> metadata,
boolean readCompacted,
org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition,
long startMessageRollbackDurationSec,
boolean replicateSubscriptionState,
org.apache.pulsar.common.api.proto.KeySharedMeta keySharedMeta) |
CompletableFuture<Void> |
truncate()
Truncate a topic.
|
CompletableFuture<Void> |
unsubscribe(String subName) |
void |
updateRates(NamespaceStats nsStats,
org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats currentBundleStats,
StatsOutputStream topicStatsStream,
ClusterReplicationMetrics clusterReplicationMetrics,
String namespaceName,
boolean hydratePublishers) |
CompletableFuture<Void> initialize()
void publishMessage(io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext callback)
CompletableFuture<Optional<Long>> addProducer(Producer producer, CompletableFuture<Void> producerQueuedFuture)
producer - producerQueuedFuture - a future that will be triggered if the producer is being queued up prior of getting establishedvoid removeProducer(Producer producer)
CompletableFuture<Void> checkIfTransactionBufferRecoverCompletely(boolean isTxnEnabled)
isTxnEnabled - void recordAddLatency(long latency,
TimeUnit unit)
long increasePublishLimitedTimes()
CompletableFuture<Consumer> subscribe(TransportCnx cnx, String subscriptionName, long consumerId, org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType, int priorityLevel, String consumerName, boolean isDurable, org.apache.pulsar.client.api.MessageId startMessageId, Map<String,String> metadata, boolean readCompacted, org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition, long startMessageRollbackDurationSec, boolean replicateSubscriptionState, org.apache.pulsar.common.api.proto.KeySharedMeta keySharedMeta)
CompletableFuture<Subscription> createSubscription(String subscriptionName, org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition, boolean replicateSubscriptionState)
CompletableFuture<Void> unsubscribe(String subName)
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Subscription> getSubscriptions()
CompletableFuture<Void> delete()
String getName()
CompletableFuture<Void> checkReplication()
CompletableFuture<Void> close(boolean closeWithoutWaitingClientDisconnect)
void checkGC()
void checkInactiveSubscriptions()
void checkBackloggedCursors()
void checkDeduplicationSnapshot()
void checkMessageExpiry()
void checkMessageDeduplicationInfo()
void checkTopicPublishThrottlingRate()
void incrementPublishCount(int numOfMessages,
long msgSizeInBytes)
void resetTopicPublishCountAndEnableReadIfRequired()
void resetBrokerPublishCountAndEnableReadIfRequired(boolean doneReset)
boolean isPublishRateExceeded()
boolean isTopicPublishRateExceeded(int msgSize,
int numMessages)
boolean isResourceGroupRateLimitingEnabled()
boolean isResourceGroupPublishRateExceeded(int msgSize,
int numMessages)
boolean isBrokerPublishRateExceeded()
void disableCnxAutoRead()
void enableCnxAutoRead()
CompletableFuture<Void> onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data)
boolean isBacklogQuotaExceeded(String producerName, org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType)
boolean isEncryptionRequired()
boolean getSchemaValidationEnforced()
boolean isReplicated()
org.apache.pulsar.common.policies.data.BacklogQuota getBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType)
void updateRates(NamespaceStats nsStats, org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats currentBundleStats, StatsOutputStream topicStatsStream, ClusterReplicationMetrics clusterReplicationMetrics, String namespaceName, boolean hydratePublishers)
Subscription getSubscription(String subscription)
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Replicator> getReplicators()
org.apache.pulsar.common.policies.data.stats.TopicStatsImpl getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize)
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> getInternalStats(boolean includeLedgerMetadata)
Position getLastPosition()
CompletableFuture<org.apache.pulsar.client.api.MessageId> getLastMessageId()
CompletableFuture<Boolean> hasSchema()
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> addSchema(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> deleteSchema()
CompletableFuture<Void> checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<Void> addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<Void> deleteForcefully()
default Optional<DispatchRateLimiter> getDispatchRateLimiter()
default boolean isSystemTopic()
boolean isPersistent()
void publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
txnID - Transaction IdheadersAndPayload - Message datapublishContext - Publish contextCompletableFuture<Void> endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID, int txnAction, long lowWaterMark)
txnID - Transaction idtxnAction - Transaction action.lowWaterMark - low water mark of this tcCompletableFuture<Void> truncate()
BrokerService getBrokerService()
Copyright © 2017–2022 Apache Software Foundation. All rights reserved.