Class BrokerAddressFilter

java.lang.Object
io.kroxylicious.proxy.internal.filter.impl.BrokerAddressFilter
All Implemented Interfaces:
io.kroxylicious.proxy.filter.DescribeClusterResponseFilter, io.kroxylicious.proxy.filter.FetchResponseFilter, io.kroxylicious.proxy.filter.Filter, io.kroxylicious.proxy.filter.FindCoordinatorResponseFilter, io.kroxylicious.proxy.filter.MetadataResponseFilter, io.kroxylicious.proxy.filter.ProduceResponseFilter, io.kroxylicious.proxy.filter.ShareAcknowledgeResponseFilter, io.kroxylicious.proxy.filter.ShareFetchResponseFilter

public class BrokerAddressFilter extends Object implements io.kroxylicious.proxy.filter.MetadataResponseFilter, io.kroxylicious.proxy.filter.FindCoordinatorResponseFilter, io.kroxylicious.proxy.filter.DescribeClusterResponseFilter, io.kroxylicious.proxy.filter.ProduceResponseFilter, io.kroxylicious.proxy.filter.FetchResponseFilter, io.kroxylicious.proxy.filter.ShareFetchResponseFilter, io.kroxylicious.proxy.filter.ShareAcknowledgeResponseFilter
An internal filter that rewrites broker addresses in all relevant responses to the corresponding proxy address. It also is responsible for updating the virtual cluster's cache of upstream broker endpoints.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onDescribeClusterResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.DescribeClusterResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onFetchResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.FetchResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onFindCoordinatorResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.FindCoordinatorResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onMetadataResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.MetadataResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onProduceResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ProduceResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onShareAcknowledgeResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ShareAcknowledgeResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
     
    CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult>
    onShareFetchResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ShareFetchResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
     
    boolean
    shouldHandleFetchResponse(short apiVersion)
     
    boolean
    shouldHandleProduceResponse(short apiVersion)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.kroxylicious.proxy.filter.DescribeClusterResponseFilter

    shouldHandleDescribeClusterResponse

    Methods inherited from interface io.kroxylicious.proxy.filter.FindCoordinatorResponseFilter

    shouldHandleFindCoordinatorResponse

    Methods inherited from interface io.kroxylicious.proxy.filter.MetadataResponseFilter

    shouldHandleMetadataResponse

    Methods inherited from interface io.kroxylicious.proxy.filter.ShareAcknowledgeResponseFilter

    shouldHandleShareAcknowledgeResponse

    Methods inherited from interface io.kroxylicious.proxy.filter.ShareFetchResponseFilter

    shouldHandleShareFetchResponse
  • Constructor Details

  • Method Details

    • onMetadataResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onMetadataResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.MetadataResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onMetadataResponse in interface io.kroxylicious.proxy.filter.MetadataResponseFilter
    • onDescribeClusterResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onDescribeClusterResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.DescribeClusterResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onDescribeClusterResponse in interface io.kroxylicious.proxy.filter.DescribeClusterResponseFilter
    • onFindCoordinatorResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onFindCoordinatorResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.FindCoordinatorResponseData data, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onFindCoordinatorResponse in interface io.kroxylicious.proxy.filter.FindCoordinatorResponseFilter
    • shouldHandleProduceResponse

      public boolean shouldHandleProduceResponse(short apiVersion)
      Specified by:
      shouldHandleProduceResponse in interface io.kroxylicious.proxy.filter.ProduceResponseFilter
    • onProduceResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onProduceResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ProduceResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onProduceResponse in interface io.kroxylicious.proxy.filter.ProduceResponseFilter
    • shouldHandleFetchResponse

      public boolean shouldHandleFetchResponse(short apiVersion)
      Specified by:
      shouldHandleFetchResponse in interface io.kroxylicious.proxy.filter.FetchResponseFilter
    • onFetchResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onFetchResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.FetchResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onFetchResponse in interface io.kroxylicious.proxy.filter.FetchResponseFilter
    • onShareAcknowledgeResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onShareAcknowledgeResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ShareAcknowledgeResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onShareAcknowledgeResponse in interface io.kroxylicious.proxy.filter.ShareAcknowledgeResponseFilter
    • onShareFetchResponse

      public CompletionStage<io.kroxylicious.proxy.filter.ResponseFilterResult> onShareFetchResponse(short apiVersion, org.apache.kafka.common.message.ResponseHeaderData header, org.apache.kafka.common.message.ShareFetchResponseData response, io.kroxylicious.proxy.filter.FilterContext context)
      Specified by:
      onShareFetchResponse in interface io.kroxylicious.proxy.filter.ShareFetchResponseFilter