public abstract class AbstractWebSocketConnection extends AbstractConnection implements LogicalConnection, Connection.UpgradeTo, Dumpable
LogicalConnection
within the framework of the new Connection
framework of jetty-io
.Modifier and Type | Class and Description |
---|---|
static class |
AbstractWebSocketConnection.Stats
Deprecated.
|
Connection.Listener, Connection.UpgradeFrom, Connection.UpgradeTo
Constructor and Description |
---|
AbstractWebSocketConnection(EndPoint endp,
Executor executor,
Scheduler scheduler,
WebSocketPolicy policy,
ByteBufferPool bufferPool) |
Modifier and Type | Method and Description |
---|---|
boolean |
canReadWebSocketFrames()
Test if Connection State allows for reading of frames.
|
boolean |
canWriteWebSocketFrames()
Test if Connection State allows for writing frames.
|
void |
close()
Jetty Connection Close
|
void |
close(CloseInfo close,
Callback callback)
Request a local close.
|
void |
close(Throwable cause)
Close the connection based on the throwable
|
void |
disconnect()
Terminate the connection (no close frame sent)
|
void |
dump(Appendable out,
String indent)
Dump this object (and children) into an Appendable using the provided indent after any new lines.
|
String |
dumpSelf()
The description of this/self found in the dump.
|
void |
fillInterested()
Utility method to be called to register read interest.
|
ByteBufferPool |
getBufferPool()
Get the ByteBufferPool in use by the connection
|
long |
getBytesIn() |
long |
getBytesOut() |
Executor |
getExecutor()
Get the Executor used by this connection.
|
List<ExtensionConfig> |
getExtensions()
Get the list of extensions in use.
|
Generator |
getGenerator() |
String |
getId()
Get Unique ID for the Connection
|
long |
getIdleTimeout()
Get the read/write idle timeout.
|
InetSocketAddress |
getLocalAddress()
Get the local
InetSocketAddress in use for this connection. |
long |
getMaxIdleTimeout()
Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)
|
long |
getMessagesIn() |
long |
getMessagesOut() |
Parser |
getParser() |
WebSocketPolicy |
getPolicy()
The policy that the connection is running under.
|
InetSocketAddress |
getRemoteAddress()
Get the remote Address in use for this connection.
|
Scheduler |
getScheduler() |
AbstractWebSocketConnection.Stats |
getStats()
Deprecated.
|
boolean |
isOpen()
Test if logical connection is still open
|
boolean |
isReading()
Tests if the connection is actively reading.
|
void |
onFillable()
Callback method invoked when the endpoint is ready to be read.
|
boolean |
onIdleExpired()
Callback method invoked upon an idle timeout event.
|
void |
onUpgradeTo(ByteBuffer prefilled)
Extra bytes from the initial HTTP upgrade that need to
be processed by the websocket parser before starting
to read bytes from the connection
|
boolean |
opened()
Set the state to opened (the application onOpen() method has been called successfully).
|
boolean |
opening()
Set the state to upgrade/opening handshake has completed.
|
void |
outgoingFrame(Frame frame,
WriteCallback callback,
BatchMode batchMode)
Frame from API, User, or Internal implementation destined for network.
|
void |
remoteClose(CloseInfo close)
Report that the Remote Endpoint CLOSE Frame has been received
|
void |
resume()
Resume a previously suspended connection.
|
void |
setExtensions(List<ExtensionConfig> extensions)
Get the list of extensions in use.
|
void |
setInputBufferSize(int inputBufferSize) |
void |
setMaxIdleTimeout(long ms)
Set the maximum number of milliseconds of idleness before the connection is closed/disconnected, (ie no frames are either sent or received)
|
void |
setNextIncomingFrames(IncomingFrames incoming)
Set where the connection should send the incoming frames to.
|
void |
setSession(WebSocketSession session)
Associate the Active Session with the connection.
|
SuspendToken |
suspend()
Suspend a the incoming read events on the connection.
|
String |
toConnectionString() |
String |
toStateString()
Get the Connection State as a String
|
addListener, getCreatedTimeStamp, getEndPoint, getInputBufferSize, isFillInterested, onClose, onOpen, removeListener, toString, tryFillInterested, tryFillInterested
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
dump, dump, dumpContainer, dumpIterable, dumpMapEntries, dumpObject, dumpObjects, named
public AbstractWebSocketConnection(EndPoint endp, Executor executor, Scheduler scheduler, WebSocketPolicy policy, ByteBufferPool bufferPool)
public Executor getExecutor()
LogicalConnection
getExecutor
in interface LogicalConnection
public void close(CloseInfo close, Callback callback)
LogicalConnection
close
in interface LogicalConnection
public void close(Throwable cause)
close
in interface LogicalConnection
cause
- the causepublic boolean canWriteWebSocketFrames()
LogicalConnection
canWriteWebSocketFrames
in interface LogicalConnection
public boolean canReadWebSocketFrames()
LogicalConnection
canReadWebSocketFrames
in interface LogicalConnection
public String toStateString()
LogicalConnection
toStateString
in interface LogicalConnection
public boolean opening()
LogicalConnection
opening
in interface LogicalConnection
public boolean opened()
LogicalConnection
Reads from network begin here.
opened
in interface LogicalConnection
public void remoteClose(CloseInfo close)
LogicalConnection
remoteClose
in interface LogicalConnection
close
- the close frame detailspublic void setSession(WebSocketSession session)
LogicalConnection
setSession
in interface LogicalConnection
session
- the session for this connectionpublic boolean onIdleExpired()
Connection
Callback method invoked upon an idle timeout event.
Implementations of this method may return true to indicate that the idle timeout handling should proceed normally, typically failing the EndPoint and causing it to be closed.
When false is returned, the handling of the idle timeout event is halted immediately and the EndPoint left in the state it was before the idle timeout event.
onIdleExpired
in interface Connection
onIdleExpired
in class AbstractConnection
public void close()
close
in interface Closeable
close
in interface AutoCloseable
close
in interface Connection
close
in class AbstractConnection
public void disconnect()
LogicalConnection
disconnect
in interface LogicalConnection
public void fillInterested()
AbstractConnection
Utility method to be called to register read interest.
After a call to this method, AbstractConnection.onFillable()
or AbstractConnection.onFillInterestedFailed(Throwable)
will be called back as appropriate.
fillInterested
in class AbstractConnection
AbstractConnection.onFillable()
public ByteBufferPool getBufferPool()
LogicalConnection
getBufferPool
in interface LogicalConnection
public List<ExtensionConfig> getExtensions()
This list is negotiated during the WebSocket Upgrade Request/Response handshake.
public Generator getGenerator()
public String getId()
LogicalConnection
getId
in interface LogicalConnection
public long getIdleTimeout()
LogicalConnection
getIdleTimeout
in interface LogicalConnection
public long getMaxIdleTimeout()
LogicalConnection
getMaxIdleTimeout
in interface LogicalConnection
public Parser getParser()
public WebSocketPolicy getPolicy()
LogicalConnection
getPolicy
in interface LogicalConnection
public InetSocketAddress getLocalAddress()
LogicalConnection
InetSocketAddress
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.
getLocalAddress
in interface LogicalConnection
public InetSocketAddress getRemoteAddress()
LogicalConnection
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.
getRemoteAddress
in interface LogicalConnection
public Scheduler getScheduler()
@Deprecated public AbstractWebSocketConnection.Stats getStats()
public boolean isOpen()
LogicalConnection
isOpen
in interface LogicalConnection
public boolean isReading()
LogicalConnection
isReading
in interface LogicalConnection
public void onFillable()
AbstractConnection
Callback method invoked when the endpoint is ready to be read.
onFillable
in class AbstractConnection
AbstractConnection.fillInterested()
public void resume()
SuspendToken
resume
in interface SuspendToken
public SuspendToken suspend()
LogicalConnection
suspend
in interface LogicalConnection
public void outgoingFrame(Frame frame, WriteCallback callback, BatchMode batchMode)
outgoingFrame
in interface OutgoingFrames
frame
- the frame to eventually write to the network layer.callback
- the callback to notify when the frame is written.batchMode
- the batch mode requested by the sender.public void setExtensions(List<ExtensionConfig> extensions)
This list is negotiated during the WebSocket Upgrade Request/Response handshake.
extensions
- the list of negotiated extensions in use.public void setInputBufferSize(int inputBufferSize)
setInputBufferSize
in class AbstractConnection
public void setMaxIdleTimeout(long ms)
LogicalConnection
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.
setMaxIdleTimeout
in interface LogicalConnection
ms
- the number of milliseconds of idle timeoutpublic String dumpSelf()
Dumpable
public void dump(Appendable out, String indent) throws IOException
Dumpable
dump
in interface Dumpable
out
- The appendable to dump toindent
- The indent to apply after any new lines.IOException
- if unable to write to Appendablepublic String toConnectionString()
toConnectionString
in class AbstractConnection
public void onUpgradeTo(ByteBuffer prefilled)
onUpgradeTo
in interface Connection.UpgradeTo
prefilled
- An optional buffer that can contain prefilled data. Typically this
results from an upgrade of one protocol to the other where the old connection has buffered
data destined for the new connection. The new connection must take ownership of the buffer
and is responsible for returning it to the buffer poolpublic void setNextIncomingFrames(IncomingFrames incoming)
LogicalConnection
Often this is from the Parser to the start of the extension stack, and eventually on to the session.
setNextIncomingFrames
in interface LogicalConnection
incoming
- the incoming frames handlerpublic long getMessagesIn()
getMessagesIn
in interface Connection
getMessagesIn
in class AbstractConnection
public long getMessagesOut()
getMessagesOut
in interface Connection
getMessagesOut
in class AbstractConnection
public long getBytesIn()
getBytesIn
in interface Connection
getBytesIn
in class AbstractConnection
public long getBytesOut()
getBytesOut
in interface Connection
getBytesOut
in class AbstractConnection
Copyright © 2010 - 2020 Adobe. All Rights Reserved