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:
java.io.Closeable,java.lang.AutoCloseable,org.eclipse.jetty.websocket.api.WebSocketConnectionListener,org.eclipse.jetty.websocket.api.WebSocketListener
public class ConsumerHandler extends AbstractWebSocketHandler
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
queryParams, request, service, topic
-
-
Constructor Summary
Constructors Constructor Description ConsumerHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static java.lang.StringextractSubscription(javax.servlet.http.HttpServletRequest request)longgetAndResetNumBytesDelivered()longgetAndResetNumMsgsAcked()longgetAndResetNumMsgsDelivered()org.apache.pulsar.client.api.Consumer<byte[]>getConsumer()protected org.apache.pulsar.client.api.ConsumerBuilder<byte[]>getConsumerConfiguration(org.apache.pulsar.client.api.PulsarClient client)longgetMsgDeliveredCounter()java.lang.StringgetSubscription()org.apache.pulsar.client.api.SubscriptionModegetSubscriptionMode()org.apache.pulsar.client.api.SubscriptionTypegetSubscriptionType()protected java.lang.BooleanisAuthorized(java.lang.String authRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData)voidonWebSocketConnect(org.eclipse.jetty.websocket.api.Session session)voidonWebSocketText(java.lang.String message)protected voidupdateDeliverMsgStat(long msgSize)-
Methods inherited from class org.apache.pulsar.websocket.AbstractWebSocketHandler
checkAuth, checkAuthentication, close, close, getErrorCode, getErrorMessage, getPingFuture, onWebSocketClose, onWebSocketError
-
-
-
-
Constructor Detail
-
ConsumerHandler
public ConsumerHandler(WebSocketService service, javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.websocket.servlet.ServletUpgradeResponse response)
-
-
Method Detail
-
onWebSocketConnect
public void onWebSocketConnect(org.eclipse.jetty.websocket.api.Session session)
- Specified by:
onWebSocketConnectin interfaceorg.eclipse.jetty.websocket.api.WebSocketConnectionListener- Overrides:
onWebSocketConnectin classAbstractWebSocketHandler
-
onWebSocketText
public void onWebSocketText(java.lang.String message)
- Specified by:
onWebSocketTextin interfaceorg.eclipse.jetty.websocket.api.WebSocketListener- Overrides:
onWebSocketTextin classorg.eclipse.jetty.websocket.api.WebSocketAdapter
-
close
public void close() throws java.io.IOException- Throws:
java.io.IOException
-
getConsumer
public org.apache.pulsar.client.api.Consumer<byte[]> getConsumer()
-
getSubscription
public java.lang.String 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 java.lang.Boolean isAuthorized(java.lang.String authRole, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData) throws java.lang.Exception- Specified by:
isAuthorizedin classAbstractWebSocketHandler- Throws:
java.lang.Exception
-
extractSubscription
public static java.lang.String extractSubscription(javax.servlet.http.HttpServletRequest request)
-
-