Class CoreSession.Empty
- All Implemented Interfaces:
Configuration
,Configuration.Customizer
,CoreSession
,IncomingFrames
,OutgoingFrames
- Enclosing interface:
- CoreSession
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.websocket.core.Configuration
Configuration.ConfigurationCustomizer, Configuration.Customizer
Nested classes/interfaces inherited from interface org.eclipse.jetty.websocket.core.CoreSession
CoreSession.Empty
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
abort()
Issue a harsh abort of the underlying connection.void
Initiate close handshake with provided status code and optional reason phrase.void
Initiate close handshake, no payload (no declared status code or reason phrase).void
close
(CloseStatus closeStatus, Callback callback) Initiate close handshake with a providedCloseStatus
.void
demand()
Manages flow control by indicating demand for a WebSocket frame.void
The Local Socket Address for the connectionThe negotiated WebSocket Extension Configurations for this session.The parameter map (from URI Query) for the active session.The activeSec-WebSocket-Version
(protocol version) in use.The Remote Socket Address for the connectionThe active connection's Request URI.boolean
isClosed()
boolean
boolean
boolean
boolean
boolean
boolean
isSecure()
The active connection's Secure status indicator.void
Process the incoming frame.void
A frame, and optional callback, intended for the network layer.Methods inherited from class org.eclipse.jetty.websocket.core.Configuration.ConfigurationCustomizer
customize, getIdleTimeout, getInputBufferSize, getMaxBinaryMessageSize, getMaxFrameSize, getMaxOutgoingFrames, getMaxTextMessageSize, getOutputBufferSize, getWriteTimeout, isAutoFragment, setAutoFragment, setIdleTimeout, setInputBufferSize, setMaxBinaryMessageSize, setMaxFrameSize, setMaxOutgoingFrames, setMaxTextMessageSize, setOutputBufferSize, setWriteTimeout, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.websocket.core.Configuration
getIdleTimeout, getInputBufferSize, getMaxBinaryMessageSize, getMaxFrameSize, getMaxOutgoingFrames, getMaxTextMessageSize, getOutputBufferSize, getWriteTimeout, isAutoFragment, setAutoFragment, setIdleTimeout, setInputBufferSize, setMaxBinaryMessageSize, setMaxFrameSize, setMaxOutgoingFrames, setMaxTextMessageSize, setOutputBufferSize, setWriteTimeout
-
Constructor Details
-
Empty
public Empty()
-
-
Method Details
-
getNegotiatedSubProtocol
- Specified by:
getNegotiatedSubProtocol
in interfaceCoreSession
-
getNegotiatedExtensions
Description copied from interface:CoreSession
The negotiated WebSocket Extension Configurations for this session.- Specified by:
getNegotiatedExtensions
in interfaceCoreSession
- Returns:
- the list of Negotiated Extension Configurations for this session.
-
getParameterMap
Description copied from interface:CoreSession
The parameter map (from URI Query) for the active session.- Specified by:
getParameterMap
in interfaceCoreSession
- Returns:
- the immutable map of parameters
-
getProtocolVersion
Description copied from interface:CoreSession
The activeSec-WebSocket-Version
(protocol version) in use.- Specified by:
getProtocolVersion
in interfaceCoreSession
- Returns:
- the protocol version in use.
-
getRequestURI
Description copied from interface:CoreSession
The active connection's Request URI. This is the URI of the upgrade request and is typically http: or https: rather than the ws: or wss: scheme.- Specified by:
getRequestURI
in interfaceCoreSession
- Returns:
- the absolute URI (including Query string)
-
isSecure
public boolean isSecure()Description copied from interface:CoreSession
The active connection's Secure status indicator.- Specified by:
isSecure
in interfaceCoreSession
- Returns:
- true if connection is secure (similar in role to
HttpServletRequest.isSecure()
)
-
abort
public void abort()Description copied from interface:CoreSession
Issue a harsh abort of the underlying connection.This will terminate the connection, without sending a websocket close frame. No WebSocket Protocol close handshake will be performed.
Once called, any read/write activity on the websocket from this point will be indeterminate. This can result in the
FrameHandler.onError(Throwable, Callback)
event being called indicating any issue that arises.Once the underlying connection has been determined to be closed, the
FrameHandler.onClosed(CloseStatus, Callback)
event will be called.- Specified by:
abort
in interfaceCoreSession
-
getBehavior
- Specified by:
getBehavior
in interfaceCoreSession
- Returns:
- Client or Server behaviour
-
getWebSocketComponents
- Specified by:
getWebSocketComponents
in interfaceCoreSession
- Returns:
- the WebSocketComponents instance in use for this Connection.
-
getByteBufferPool
- Specified by:
getByteBufferPool
in interfaceCoreSession
- Returns:
- The shared ByteBufferPool
-
getLocalAddress
Description copied from interface:CoreSession
The Local Socket Address for the connectionDo not assume that this will return a
InetSocketAddress
in all cases. Use of various proxies, and even UnixSockets can result a SocketAddress being returned without supportingInetSocketAddress
- Specified by:
getLocalAddress
in interfaceCoreSession
- Returns:
- the SocketAddress for the local connection, or null if not supported by Session
-
getRemoteAddress
Description copied from interface:CoreSession
The Remote Socket Address for the connectionDo not assume that this will return a
InetSocketAddress
in all cases. Use of various proxies, and even UnixSockets can result a SocketAddress being returned without supportingInetSocketAddress
- Specified by:
getRemoteAddress
in interfaceCoreSession
- Returns:
- the SocketAddress for the remote connection, or null if not supported by Session
-
isInputOpen
public boolean isInputOpen()- Specified by:
isInputOpen
in interfaceCoreSession
- Returns:
- True if the websocket is open inbound
-
isOutputOpen
public boolean isOutputOpen()- Specified by:
isOutputOpen
in interfaceCoreSession
- Returns:
- True if the websocket is open outbound
-
isClosed
public boolean isClosed()- Specified by:
isClosed
in interfaceCoreSession
-
flush
- Specified by:
flush
in interfaceCoreSession
-
close
Description copied from interface:CoreSession
Initiate close handshake, no payload (no declared status code or reason phrase).- Specified by:
close
in interfaceCoreSession
- Parameters:
callback
- the callback to track close frame sent (or failed).
-
close
Description copied from interface:CoreSession
Initiate close handshake with provided status code and optional reason phrase.- Specified by:
close
in interfaceCoreSession
- Parameters:
statusCode
- the status code (should be a valid status code that can be sent).reason
- optional reason phrase (will be truncated automatically by implementation to fit within limits of protocol).callback
- the callback to track close frame sent (or failed).
-
close
Description copied from interface:CoreSession
Initiate close handshake with a providedCloseStatus
.- Specified by:
close
in interfaceCoreSession
- Parameters:
closeStatus
- the close status containing (statusCode, reason, and optionalThrowable
cause).callback
- the callback to track close frame sent (or failed).
-
demand
public void demand()Description copied from interface:CoreSession
Manages flow control by indicating demand for a WebSocket frame.
A call to
FrameHandler.onFrame(Frame, Callback)
will only be made if there is demand.If a previous demand has not been fulfilled this will throw
ReadPendingException
FrameHandler.onFrame(Frame, Callback)
.- Specified by:
demand
in interfaceCoreSession
-
onFrame
Description copied from interface:IncomingFrames
Process the incoming frame.
Note: if you need to hang onto any information from the frame, be sure to copy it, as the information contained in the Frame will be released and/or reused by the implementation.
Failure of the callback will propagate the failure back to the
CoreSession
to fail the connection and attempt to send a closeFrame
if one has not been sent.- Specified by:
onFrame
in interfaceIncomingFrames
- Parameters:
frame
- the frame to process.callback
- the read completion.
-
sendFrame
Description copied from interface:OutgoingFrames
A frame, and optional callback, intended for the network layer.Note: the frame can undergo many transformations in the various layers and extensions present in the implementation.
If you are implementing a mutation, you are obliged to handle the incoming Callback appropriately.
- Specified by:
sendFrame
in interfaceOutgoingFrames
- Parameters:
frame
- the frame to eventually write to the network layer.callback
- the callback to notify when the frame is written.batch
- the batch mode requested by the sender.
-
isRsv1Used
public boolean isRsv1Used()- Specified by:
isRsv1Used
in interfaceCoreSession
- Returns:
- true if an extension has been negotiated which uses the RSV1 bit.
-
isRsv2Used
public boolean isRsv2Used()- Specified by:
isRsv2Used
in interfaceCoreSession
- Returns:
- true if an extension has been negotiated which uses the RSV2 bit.
-
isRsv3Used
public boolean isRsv3Used()- Specified by:
isRsv3Used
in interfaceCoreSession
- Returns:
- true if an extension has been negotiated which uses the RSV3 bit.
-