Package org.apache.pulsar.proxy.server
Class ProxyConnection
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
org.apache.pulsar.common.protocol.PulsarDecoder
org.apache.pulsar.common.protocol.PulsarHandler
org.apache.pulsar.proxy.server.ProxyConnection
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class ProxyConnection
extends org.apache.pulsar.common.protocol.PulsarHandler
Handles incoming discovery request from client and sends appropriate response back to client.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Field Summary
FieldsFields inherited from class org.apache.pulsar.common.protocol.PulsarHandler
ctx, remoteAddressFields inherited from class org.apache.pulsar.common.protocol.PulsarDecoder
proxyMessage -
Constructor Summary
ConstructorsConstructorDescriptionProxyConnection(ProxyService proxyService, io.netty.resolver.dns.DnsAddressResolverGroup dnsAddressResolverGroup) -
Method Summary
Modifier and TypeMethodDescriptionvoidbrokerConnected(DirectProxyHandler directProxyHandler, org.apache.pulsar.common.api.proto.CommandConnected connected) voidchannelActive(io.netty.channel.ChannelHandlerContext ctx) voidchannelInactive(io.netty.channel.ChannelHandlerContext ctx) voidchannelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg) voidchannelRegistered(io.netty.channel.ChannelHandlerContext ctx) voidchannelUnregistered(io.netty.channel.ChannelHandlerContext ctx) voidchannelWritabilityChanged(io.netty.channel.ChannelHandlerContext ctx) voidexceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) org.apache.pulsar.client.api.Authenticationio.netty.handler.codec.haproxy.HAProxyMessageprotected voidhandleAuthResponse(org.apache.pulsar.common.api.proto.CommandAuthResponse authResponse) protected voidhandleConnect(org.apache.pulsar.common.api.proto.CommandConnect connect) protected voidhandleGetSchema(org.apache.pulsar.common.api.proto.CommandGetSchema commandGetSchema) protected voidhandleGetTopicsOfNamespace(org.apache.pulsar.common.api.proto.CommandGetTopicsOfNamespace commandGetTopicsOfNamespace) protected voidhandleLookup(org.apache.pulsar.common.api.proto.CommandLookupTopic lookup) handles discovery request from client ands sends next active broker address.protected voidhandlePartitionMetadataRequest(org.apache.pulsar.common.api.proto.CommandPartitionedTopicMetadata partitionMetadata) booleanprotected booleanprotected static booleanisTlsChannel(io.netty.channel.Channel channel) protected static io.netty.channel.ChannelPromisespliceNIC2NIC(io.netty.channel.epoll.EpollSocketChannel inboundChannel, io.netty.channel.epoll.EpollSocketChannel outboundChannel, int spliceLength) Use splice to zero-copy of NIC to NIC.Methods inherited from class org.apache.pulsar.common.protocol.PulsarHandler
cancelKeepAliveTask, getRemoteEndpointProtocolVersion, handlePing, handlePong, messageReceived, sendPing, setRemoteEndpointProtocolVersionMethods inherited from class org.apache.pulsar.common.protocol.PulsarDecoder
handleAck, handleAckResponse, handleActiveConsumerChange, handleAddPartitionToTxn, handleAddPartitionToTxnResponse, handleAddSubscriptionToTxn, handleAddSubscriptionToTxnResponse, handleAuthChallenge, handleCloseConsumer, handleCloseProducer, handleCommandWatchTopicList, handleCommandWatchTopicListClose, handleCommandWatchTopicListSuccess, handleCommandWatchTopicUpdate, handleConnected, handleConsumerStats, handleConsumerStatsResponse, handleEndTxn, handleEndTxnOnPartition, handleEndTxnOnPartitionResponse, handleEndTxnOnSubscription, handleEndTxnOnSubscriptionResponse, handleEndTxnResponse, handleError, handleFlow, handleGetLastMessageId, handleGetLastMessageIdSuccess, handleGetOrCreateSchema, handleGetOrCreateSchemaResponse, handleGetSchemaResponse, handleGetTopicsOfNamespaceSuccess, handleLookupResponse, handleMessage, handleNewTxn, handleNewTxnResponse, handlePartitionResponse, handleProducer, handleProducerSuccess, handleReachedEndOfTopic, handleRedeliverUnacknowledged, handleSeek, handleSend, handleSendError, handleSendReceipt, handleSubscribe, handleSuccess, handleTcClientConnectRequest, handleTcClientConnectResponse, handleUnsubscribe, interceptCommandMethods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelReadComplete, userEventTriggeredMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Field Details
-
SPLICE_BYTES
-
-
Constructor Details
-
ProxyConnection
public ProxyConnection(ProxyService proxyService, io.netty.resolver.dns.DnsAddressResolverGroup dnsAddressResolverGroup)
-
-
Method Details
-
channelRegistered
- Specified by:
channelRegisteredin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelRegisteredin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelUnregistered
- Specified by:
channelUnregisteredin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelUnregisteredin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelActive
- Specified by:
channelActivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelActivein classorg.apache.pulsar.common.protocol.PulsarHandler- Throws:
Exception
-
channelInactive
- Specified by:
channelInactivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelInactivein classorg.apache.pulsar.common.protocol.PulsarHandler- Throws:
Exception
-
exceptionCaught
public void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx, Throwable cause) throws Exception - Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelHandler- Specified by:
exceptionCaughtin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
exceptionCaughtin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelWritabilityChanged
- Specified by:
channelWritabilityChangedin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelWritabilityChangedin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelRead
- Specified by:
channelReadin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelReadin classorg.apache.pulsar.common.protocol.PulsarDecoder- Throws:
Exception
-
spliceNIC2NIC
protected static io.netty.channel.ChannelPromise spliceNIC2NIC(io.netty.channel.epoll.EpollSocketChannel inboundChannel, io.netty.channel.epoll.EpollSocketChannel outboundChannel, int spliceLength) Use splice to zero-copy of NIC to NIC.- Parameters:
inboundChannel- input channeloutboundChannel- output channel
-
isTlsChannel
protected static boolean isTlsChannel(io.netty.channel.Channel channel) -
brokerConnected
public void brokerConnected(DirectProxyHandler directProxyHandler, org.apache.pulsar.common.api.proto.CommandConnected connected) -
handleConnect
protected void handleConnect(org.apache.pulsar.common.api.proto.CommandConnect connect) - Overrides:
handleConnectin classorg.apache.pulsar.common.protocol.PulsarDecoder
-
handleAuthResponse
protected void handleAuthResponse(org.apache.pulsar.common.api.proto.CommandAuthResponse authResponse) - Overrides:
handleAuthResponsein classorg.apache.pulsar.common.protocol.PulsarDecoder
-
handlePartitionMetadataRequest
protected void handlePartitionMetadataRequest(org.apache.pulsar.common.api.proto.CommandPartitionedTopicMetadata partitionMetadata) - Overrides:
handlePartitionMetadataRequestin classorg.apache.pulsar.common.protocol.PulsarDecoder
-
handleGetTopicsOfNamespace
protected void handleGetTopicsOfNamespace(org.apache.pulsar.common.api.proto.CommandGetTopicsOfNamespace commandGetTopicsOfNamespace) - Overrides:
handleGetTopicsOfNamespacein classorg.apache.pulsar.common.protocol.PulsarDecoder
-
handleGetSchema
protected void handleGetSchema(org.apache.pulsar.common.api.proto.CommandGetSchema commandGetSchema) - Overrides:
handleGetSchemain classorg.apache.pulsar.common.protocol.PulsarDecoder
-
handleLookup
protected void handleLookup(org.apache.pulsar.common.api.proto.CommandLookupTopic lookup) handles discovery request from client ands sends next active broker address.- Overrides:
handleLookupin classorg.apache.pulsar.common.protocol.PulsarDecoder
-
getClientAuthentication
public org.apache.pulsar.client.api.Authentication getClientAuthentication() -
isHandshakeCompleted
protected boolean isHandshakeCompleted()- Specified by:
isHandshakeCompletedin classorg.apache.pulsar.common.protocol.PulsarHandler
-
hasHAProxyMessage
public boolean hasHAProxyMessage() -
getHAProxyMessage
public io.netty.handler.codec.haproxy.HAProxyMessage getHAProxyMessage()
-