Class AbstractWebSocketConnection
- All Implemented Interfaces:
Closeable,AutoCloseable,Connection,Connection.UpgradeTo,Dumpable,OutgoingFrames,SuspendToken,LogicalConnection
LogicalConnection within the framework of the new Connection framework of jetty-io.-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.eclipse.jetty.io.Connection
Connection.Listener, Connection.UpgradeFrom, Connection.UpgradeToNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractWebSocketConnection(EndPoint endp, Executor executor, Scheduler scheduler, WebSocketPolicy policy, ByteBufferPool bufferPool) -
Method Summary
Modifier and TypeMethodDescriptionbooleanTest if Connection State allows for reading of frames.booleanTest if Connection State allows for writing frames.voidclose()Jetty Connection ClosevoidClose the connection based on the throwablevoidRequest a local close.voidTerminate the connection (no close frame sent)voiddump(Appendable out, String indent) dumpSelf()voidGet the ByteBufferPool in use by the connectionlonglongGet the Executor used by this connection.Get the list of extensions in use.getId()Get Unique ID for the ConnectionlongGet the read/write idle timeout.Get the localInetSocketAddressin use for this connection.longSet the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)longlongThe policy that the connection is running under.Get the remote Address in use for this connection.getStats()Deprecated.booleanisOpen()Test if logical connection is still openbooleanTests if the connection is actively reading.voidprotected voidonFillInterestedFailed(Throwable cause) booleanprotected booleanonReadTimeout(Throwable timeout) Event for no activity on connection (read or write)voidonUpgradeTo(ByteBuffer buffer) Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connectionbooleanopened()Set the state to opened (the application onOpen() method has been called successfully).booleanopening()Set the state to upgrade/opening handshake has completed.voidoutgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode) Frame from API, User, or Internal implementation destined for network.voidremoteClose(CloseInfo close) Report that the Remote Endpoint CLOSE Frame has been receivedvoidresume()voidsetExtensions(List<ExtensionConfig> extensions) Get the list of extensions in use.protected voidsetInitialBuffer(ByteBuffer initialBuffer) Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connectionvoidsetInputBufferSize(int inputBufferSize) voidsetMaxIdleTimeout(long ms) Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)voidsetNextIncomingFrames(IncomingFrames incoming) Set where the connection should send the incoming frames to.voidsetSession(WebSocketSession session) Associate the Active Session with the connection.suspend()Suspend a the incoming read events on the connection.Get the Connection State as a StringMethods inherited from class org.eclipse.jetty.io.AbstractConnection
addListener, failedCallback, getCreatedTimeStamp, getEndPoint, getInputBufferSize, isFillInterested, onClose, onOpen, removeListener, toString, tryFillInterested, tryFillInterested
-
Constructor Details
-
AbstractWebSocketConnection
public AbstractWebSocketConnection(EndPoint endp, Executor executor, Scheduler scheduler, WebSocketPolicy policy, ByteBufferPool bufferPool)
-
-
Method Details
-
getExecutor
Description copied from interface:LogicalConnectionGet the Executor used by this connection.- Specified by:
getExecutorin interfaceLogicalConnection- Overrides:
getExecutorin classAbstractConnection- Returns:
- the executor
-
close
Description copied from interface:LogicalConnectionRequest a local close.- Specified by:
closein interfaceLogicalConnection
-
close
Close the connection based on the throwable- Specified by:
closein interfaceLogicalConnection- Parameters:
cause- the cause
-
canWriteWebSocketFrames
public boolean canWriteWebSocketFrames()Description copied from interface:LogicalConnectionTest if Connection State allows for writing frames.- Specified by:
canWriteWebSocketFramesin interfaceLogicalConnection- Returns:
- true if able to write, false otherwise.
-
canReadWebSocketFrames
public boolean canReadWebSocketFrames()Description copied from interface:LogicalConnectionTest if Connection State allows for reading of frames.- Specified by:
canReadWebSocketFramesin interfaceLogicalConnection- Returns:
- true if able to read, false otherwise.
-
toStateString
Description copied from interface:LogicalConnectionGet the Connection State as a String- Specified by:
toStateStringin interfaceLogicalConnection- Returns:
- the Connection State string
-
opening
public boolean opening()Description copied from interface:LogicalConnectionSet the state to upgrade/opening handshake has completed.- Specified by:
openingin interfaceLogicalConnection- Returns:
- true if state is OPENING, false otherwise
-
opened
public boolean opened()Description copied from interface:LogicalConnectionSet the state to opened (the application onOpen() method has been called successfully).Reads from network begin here.
- Specified by:
openedin interfaceLogicalConnection- Returns:
- true if state is OPENED, false otherwise
-
remoteClose
Description copied from interface:LogicalConnectionReport that the Remote Endpoint CLOSE Frame has been received- Specified by:
remoteClosein interfaceLogicalConnection- Parameters:
close- the close frame details
-
setSession
Description copied from interface:LogicalConnectionAssociate the Active Session with the connection.- Specified by:
setSessionin interfaceLogicalConnection- Parameters:
session- the session for this connection
-
onIdleExpired
public boolean onIdleExpired()- Specified by:
onIdleExpiredin interfaceConnection- Overrides:
onIdleExpiredin classAbstractConnection
-
close
public void close()Jetty Connection Close- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceConnection- Overrides:
closein classAbstractConnection
-
disconnect
public void disconnect()Description copied from interface:LogicalConnectionTerminate the connection (no close frame sent)- Specified by:
disconnectin interfaceLogicalConnection
-
fillInterested
public void fillInterested()- Overrides:
fillInterestedin classAbstractConnection
-
getBufferPool
Description copied from interface:LogicalConnectionGet the ByteBufferPool in use by the connection- Specified by:
getBufferPoolin interfaceLogicalConnection- Returns:
- the buffer pool
-
getExtensions
Get the list of extensions in use.This list is negotiated during the WebSocket Upgrade Request/Response handshake.
- Returns:
- the list of negotiated extensions in use.
-
getGenerator
-
getId
Description copied from interface:LogicalConnectionGet Unique ID for the Connection- Specified by:
getIdin interfaceLogicalConnection- Returns:
- the unique ID for the connection
-
getIdleTimeout
public long getIdleTimeout()Description copied from interface:LogicalConnectionGet the read/write idle timeout.- Specified by:
getIdleTimeoutin interfaceLogicalConnection- Returns:
- the idle timeout in milliseconds
-
getMaxIdleTimeout
public long getMaxIdleTimeout()Description copied from interface:LogicalConnectionSet the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)- Specified by:
getMaxIdleTimeoutin interfaceLogicalConnection- Returns:
- the idle timeout in milliseconds
-
getParser
-
getPolicy
Description copied from interface:LogicalConnectionThe policy that the connection is running under.- Specified by:
getPolicyin interfaceLogicalConnection- Returns:
- the policy for the connection
-
getLocalAddress
Description copied from interface:LogicalConnectionGet the localInetSocketAddressin use for this connection.Note: Non-physical connections, like during the Mux extensions, or during unit testing can result in a InetSocketAddress on port 0 and/or on localhost.
- Specified by:
getLocalAddressin interfaceLogicalConnection- Returns:
- the local address.
-
getRemoteAddress
Description copied from interface:LogicalConnectionGet the remote Address in use for this connection.Note: Non-physical connections, like during the Mux extensions, or during unit testing can result in a InetSocketAddress on port 0 and/or on localhost.
- Specified by:
getRemoteAddressin interfaceLogicalConnection- Returns:
- the remote address.
-
getScheduler
-
getStats
Deprecated. -
isOpen
public boolean isOpen()Description copied from interface:LogicalConnectionTest if logical connection is still open- Specified by:
isOpenin interfaceLogicalConnection- Returns:
- true if connection is open
-
isReading
public boolean isReading()Description copied from interface:LogicalConnectionTests if the connection is actively reading.- Specified by:
isReadingin interfaceLogicalConnection- Returns:
- true if connection is actively attempting to read.
-
onFillable
public void onFillable()- Specified by:
onFillablein classAbstractConnection
-
resume
public void resume()- Specified by:
resumein interfaceSuspendToken
-
suspend
Description copied from interface:LogicalConnectionSuspend a the incoming read events on the connection.- Specified by:
suspendin interfaceLogicalConnection- Returns:
- the suspend token
-
onFillInterestedFailed
- Overrides:
onFillInterestedFailedin classAbstractConnection
-
setInitialBuffer
Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connection- Parameters:
initialBuffer- the bytes of unconsumed content encountered during upgrade
-
onReadTimeout
Event for no activity on connection (read or write)- Overrides:
onReadTimeoutin classAbstractConnection- Returns:
- true to signal that the endpoint must be closed, false to keep the endpoint open
-
outgoingFrame
Frame from API, User, or Internal implementation destined for network.- Specified by:
outgoingFramein interfaceOutgoingFrames
-
setExtensions
Get the list of extensions in use.This list is negotiated during the WebSocket Upgrade Request/Response handshake.
- Parameters:
extensions- the list of negotiated extensions in use.
-
setInputBufferSize
public void setInputBufferSize(int inputBufferSize) - Overrides:
setInputBufferSizein classAbstractConnection
-
setMaxIdleTimeout
public void setMaxIdleTimeout(long ms) Description copied from interface:LogicalConnectionSet the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)This idle timeout cannot be garunteed to take immediate effect for any active read/write actions. New read/write actions will have this new idle timeout.
- Specified by:
setMaxIdleTimeoutin interfaceLogicalConnection- Parameters:
ms- the number of milliseconds of idle timeout
-
dumpSelf
-
dump
- Specified by:
dumpin interfaceDumpable- Throws:
IOException
-
toConnectionString
- Overrides:
toConnectionStringin classAbstractConnection
-
onUpgradeTo
Extra bytes from the initial HTTP upgrade that need to be processed by the websocket parser before starting to read bytes from the connection- Specified by:
onUpgradeToin interfaceConnection.UpgradeTo
-
setNextIncomingFrames
Description copied from interface:LogicalConnectionSet where the connection should send the incoming frames to.Often this is from the Parser to the start of the extension stack, and eventually on to the session.
- Specified by:
setNextIncomingFramesin interfaceLogicalConnection- Parameters:
incoming- the incoming frames handler
-
getMessagesIn
public long getMessagesIn()- Specified by:
getMessagesInin interfaceConnection- Overrides:
getMessagesInin classAbstractConnection- Returns:
- the number of WebSocket frames received over this connection
-
getMessagesOut
public long getMessagesOut()- Specified by:
getMessagesOutin interfaceConnection- Overrides:
getMessagesOutin classAbstractConnection- Returns:
- the number of WebSocket frames sent over this connection
-
getBytesIn
public long getBytesIn()- Specified by:
getBytesInin interfaceConnection- Overrides:
getBytesInin classAbstractConnection- Returns:
- the number of bytes received over this connection
-
getBytesOut
public long getBytesOut()- Specified by:
getBytesOutin interfaceConnection- Overrides:
getBytesOutin classAbstractConnection- Returns:
- the number of bytes frames sent over this connection
-