Interface BrokerFilter
- All Known Implementing Classes:
AntiAffinityGroupPolicyFilter,BrokerIsolationPoliciesFilter,BrokerLoadManagerClassFilter,BrokerMaxTopicCountFilter,BrokerVersionFilter
public interface BrokerFilter
Filter out unqualified Brokers, which are not entered into LoadBalancer for decision-making.
-
Method Summary
Modifier and TypeMethodDescriptiondefault Map<String,BrokerLookupData> filter(Map<String, BrokerLookupData> brokers, org.apache.pulsar.common.naming.ServiceUnitId serviceUnit, LoadManagerContext context) Deprecated.filterAsync(Map<String, BrokerLookupData> brokers, org.apache.pulsar.common.naming.ServiceUnitId serviceUnit, LoadManagerContext context) Filter out async unqualified brokers based on implementation.name()The broker filter name.
-
Method Details
-
name
String name()The broker filter name. -
filter
@Deprecated default Map<String,BrokerLookupData> filter(Map<String, BrokerLookupData> brokers, org.apache.pulsar.common.naming.ServiceUnitId serviceUnit, LoadManagerContext context) throws BrokerFilterExceptionDeprecated.Filter out unqualified brokers based on implementation.- Parameters:
brokers- The full broker and lookup data.serviceUnit- The current serviceUnit.context- The load manager context.- Returns:
- Filtered broker list.
- Throws:
BrokerFilterException
-
filterAsync
CompletableFuture<Map<String,BrokerLookupData>> filterAsync(Map<String, BrokerLookupData> brokers, org.apache.pulsar.common.naming.ServiceUnitId serviceUnit, LoadManagerContext context) Filter out async unqualified brokers based on implementation.- Parameters:
brokers- The full broker and lookup data.serviceUnit- The current serviceUnit.context- The load manager context.- Returns:
- Filtered broker list.
-