Package org.apache.pulsar.websocket
Class ConsumerHandler
java.lang.Object
org.eclipse.jetty.websocket.api.WebSocketAdapter
org.apache.pulsar.websocket.AbstractWebSocketHandler
org.apache.pulsar.websocket.ConsumerHandler
- All Implemented Interfaces:
Closeable,AutoCloseable,org.eclipse.jetty.websocket.api.WebSocketConnectionListener,org.eclipse.jetty.websocket.api.WebSocketListener
WebSocket end-point url handler to handle incoming receive and acknowledge requests.
receive: socket-proxy keeps pushing messages to client by writing into session. However, it dispatches N
messages at any point and after that on acknowledgement from client it dispatches further messages.
acknowledge: it accepts acknowledgement for a given message from client and send it to broker. and for next
action it notifies receive to dispatch further messages to client.
-
Field Summary
Fields inherited from class org.apache.pulsar.websocket.AbstractWebSocketHandler
consumerCommandReader, queryParams, request, service, topic -
Constructor Summary
ConstructorsConstructorDescriptionConsumerHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()static StringextractSubscription(javax.servlet.http.HttpServletRequest request) longlonglongorg.apache.pulsar.client.api.Consumer<byte[]>protected org.apache.pulsar.client.api.ConsumerBuilder<byte[]>getConsumerConfiguration(org.apache.pulsar.client.api.PulsarClient client) longorg.apache.pulsar.client.api.SubscriptionModeorg.apache.pulsar.client.api.SubscriptionTypeprotected BooleanisAuthorized(String authRole, AuthenticationDataSource authenticationData) voidonWebSocketConnect(org.eclipse.jetty.websocket.api.Session session) voidonWebSocketText(String message) protected voidupdateDeliverMsgStat(long msgSize) Methods inherited from class org.apache.pulsar.websocket.AbstractWebSocketHandler
checkAuth, checkAuthentication, close, close, getErrorCode, getErrorMessage, getPingFuture, objectWriter, onWebSocketClose, onWebSocketErrorMethods inherited from class org.eclipse.jetty.websocket.api.WebSocketAdapter
getRemote, getSession, isConnected, isNotConnected, onWebSocketBinary
-
Constructor Details
-
ConsumerHandler
public ConsumerHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
-
Method Details
-
onWebSocketConnect
public void onWebSocketConnect(org.eclipse.jetty.websocket.api.Session session) - Specified by:
onWebSocketConnectin interfaceorg.eclipse.jetty.websocket.api.WebSocketConnectionListener- Overrides:
onWebSocketConnectin classAbstractWebSocketHandler
-
onWebSocketText
- Specified by:
onWebSocketTextin interfaceorg.eclipse.jetty.websocket.api.WebSocketListener- Overrides:
onWebSocketTextin classorg.eclipse.jetty.websocket.api.WebSocketAdapter
-
close
- Throws:
IOException
-
getConsumer
public org.apache.pulsar.client.api.Consumer<byte[]> getConsumer() -
getSubscription
-
getSubscriptionType
public org.apache.pulsar.client.api.SubscriptionType getSubscriptionType() -
getSubscriptionMode
public org.apache.pulsar.client.api.SubscriptionMode getSubscriptionMode() -
getAndResetNumMsgsDelivered
public long getAndResetNumMsgsDelivered() -
getAndResetNumBytesDelivered
public long getAndResetNumBytesDelivered() -
getAndResetNumMsgsAcked
public long getAndResetNumMsgsAcked() -
getMsgDeliveredCounter
public long getMsgDeliveredCounter() -
updateDeliverMsgStat
protected void updateDeliverMsgStat(long msgSize) -
getConsumerConfiguration
protected org.apache.pulsar.client.api.ConsumerBuilder<byte[]> getConsumerConfiguration(org.apache.pulsar.client.api.PulsarClient client) -
isAuthorized
protected Boolean isAuthorized(String authRole, AuthenticationDataSource authenticationData) throws Exception - Specified by:
isAuthorizedin classAbstractWebSocketHandler- Throws:
Exception
-
extractSubscription
-