Package org.cometd.server.http
Class AbstractStreamHttpTransport
- java.lang.Object
-
- org.cometd.common.AbstractTransport
-
- org.cometd.server.AbstractServerTransport
-
- org.cometd.server.http.AbstractHttpTransport
-
- org.cometd.server.http.AbstractStreamHttpTransport
-
- All Implemented Interfaces:
ServerTransport
,Transport
,org.eclipse.jetty.util.component.Dumpable
- Direct Known Subclasses:
JSONPTransport
,JSONTransport
public abstract class AbstractStreamHttpTransport extends AbstractHttpTransport
The base class for HTTP transports that use blocking stream I/O.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractStreamHttpTransport.DispatchingLongPollScheduler
-
Nested classes/interfaces inherited from class org.cometd.server.http.AbstractHttpTransport
AbstractHttpTransport.Context, AbstractHttpTransport.HttpScheduler, AbstractHttpTransport.LongPollScheduler
-
Nested classes/interfaces inherited from class org.cometd.server.AbstractServerTransport
AbstractServerTransport.Scheduler
-
-
Field Summary
-
Fields inherited from class org.cometd.server.http.AbstractHttpTransport
BROWSER_COOKIE_DOMAIN_OPTION, BROWSER_COOKIE_HTTP_ONLY_OPTION, BROWSER_COOKIE_MAX_AGE_OPTION, BROWSER_COOKIE_NAME_OPTION, BROWSER_COOKIE_PARTITIONED_OPTION, BROWSER_COOKIE_PATH_OPTION, BROWSER_COOKIE_SAME_SITE_OPTION, BROWSER_COOKIE_SECURE_OPTION, DUPLICATE_META_CONNECT_HTTP_RESPONSE_CODE_OPTION, HTTP2_MAX_SESSIONS_PER_BROWSER_OPTION, JSON_DEBUG_OPTION, MAX_SESSIONS_PER_BROWSER_OPTION, MESSAGE_PARAM, MULTI_SESSION_INTERVAL_OPTION, PREFIX, TRUST_CLIENT_SESSION_OPTION
-
Fields inherited from class org.cometd.server.AbstractServerTransport
ALLOW_MESSAGE_DELIVERY_DURING_HANDSHAKE, HANDSHAKE_RECONNECT_OPTION, INTERVAL_OPTION, JSON_CONTEXT_OPTION, MAX_INTERVAL_OPTION, MAX_LAZY_TIMEOUT_OPTION, MAX_MESSAGE_SIZE_OPTION, MAX_PROCESSING_OPTION, MAX_QUEUE_OPTION, META_CONNECT_DELIVERY_OPTION, TIMEOUT_OPTION
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractStreamHttpTransport(BayeuxServerImpl bayeux, java.lang.String name)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract javax.servlet.ServletOutputStream
beginWrite(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected abstract void
endWrite(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output)
void
handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
protected AbstractHttpTransport.HttpScheduler
newHttpScheduler(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise, ServerMessage.Mutable message, long timeout)
protected ServerMessage.Mutable[]
parseMessages(java.lang.String[] requestParameters)
protected abstract ServerMessage.Mutable[]
parseMessages(javax.servlet.http.HttpServletRequest request)
protected void
process(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise)
protected AbstractHttpTransport.HttpScheduler
suspend(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise, ServerMessage.Mutable message, long timeout)
protected void
write(AbstractHttpTransport.Context context, java.util.List<ServerMessage> messages, Promise<java.lang.Void> promise)
protected void
writeComplete(AbstractHttpTransport.Context context, java.util.List<ServerMessage> messages)
protected void
writeMessage(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output, ServerSessionImpl session, ServerMessage message)
protected void
writeMessage(AbstractHttpTransport.Context context, javax.servlet.ServletOutputStream output, ServerMessage message)
-
Methods inherited from class org.cometd.server.http.AbstractHttpTransport
accept, decBrowserId, findBrowserId, findCurrentSessions, findSession, flush, getAsyncContext, getDuplicateMetaConnectHttpResponseCode, getMultiSessionInterval, handleJSONParseException, handleMessage, incBrowserId, init, isHTTP2, processMessages, resume, sendError, setBrowserId, sweep, toJSONBytes
-
Methods inherited from class org.cometd.server.AbstractServerTransport
allowMessageDeliveryDuringHandshake, destroy, dump, getBayeux, getInterval, getJSONContextServer, getMaxInterval, getMaxLazyTimeout, getMaxMessageSize, getTimeout, isAllowMessageDeliveryDuringHandshake, isHandshakeReconnect, isMetaConnectDeliveryOnly, newMetaConnectCycle, parseMessages, parseMessages, processReply, scheduleExpiration, setAllowMessageDeliveryDuringHandshake, setHandshakeReconnect, setInterval, setMaxInterval, setMaxLazyTimeout, setMaxMessageSize, setMetaConnectDeliveryOnly, setTimeout, toJSON, toString
-
Methods inherited from class org.cometd.common.AbstractTransport
getName, getOption, getOption, getOption, getOption, getOption, getOptionNames, getOptionPrefix, setOption, setOptionPrefix
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.cometd.bayeux.Transport
getName, getOption, getOptionNames, getOptionPrefix
-
-
-
-
Constructor Detail
-
AbstractStreamHttpTransport
protected AbstractStreamHttpTransport(BayeuxServerImpl bayeux, java.lang.String name)
-
-
Method Detail
-
handle
public void handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
- Specified by:
handle
in classAbstractHttpTransport
-
process
protected void process(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise)
-
suspend
protected AbstractHttpTransport.HttpScheduler suspend(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise, ServerMessage.Mutable message, long timeout)
- Specified by:
suspend
in classAbstractHttpTransport
-
newHttpScheduler
protected AbstractHttpTransport.HttpScheduler newHttpScheduler(AbstractHttpTransport.Context context, Promise<java.lang.Void> promise, ServerMessage.Mutable message, long timeout)
-
parseMessages
protected abstract ServerMessage.Mutable[] parseMessages(javax.servlet.http.HttpServletRequest request) throws java.io.IOException, java.text.ParseException
- Throws:
java.io.IOException
java.text.ParseException
-
parseMessages
protected ServerMessage.Mutable[] parseMessages(java.lang.String[] requestParameters) throws java.io.IOException, java.text.ParseException
- Throws:
java.io.IOException
java.text.ParseException
-
write
protected void write(AbstractHttpTransport.Context context, java.util.List<ServerMessage> messages, Promise<java.lang.Void> promise)
- Specified by:
write
in classAbstractHttpTransport
-
writeMessage
protected void writeMessage(AbstractHttpTransport.Context context, javax.servlet.ServletOutputStream output, ServerMessage message) throws java.io.IOException
- Throws:
java.io.IOException
-
writeMessage
protected void writeMessage(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output, ServerSessionImpl session, ServerMessage message) throws java.io.IOException
- Throws:
java.io.IOException
-
beginWrite
protected abstract javax.servlet.ServletOutputStream beginWrite(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException
- Throws:
java.io.IOException
-
endWrite
protected abstract void endWrite(javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream output) throws java.io.IOException
- Throws:
java.io.IOException
-
writeComplete
protected void writeComplete(AbstractHttpTransport.Context context, java.util.List<ServerMessage> messages)
-
-