Class FrameFlusher
- java.lang.Object
-
- org.eclipse.jetty.util.IteratingCallback
-
- org.eclipse.jetty.websocket.common.io.FrameFlusher
-
- All Implemented Interfaces:
org.eclipse.jetty.util.Callback
,org.eclipse.jetty.util.thread.Invocable
- Direct Known Subclasses:
AbstractWebSocketConnection.Flusher
public class FrameFlusher extends org.eclipse.jetty.util.IteratingCallback
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
FrameFlusher.FrameEntry
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.IteratingCallback
org.eclipse.jetty.util.IteratingCallback.Action
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBuffer
aggregate
private BatchMode
batchMode
private org.eclipse.jetty.io.ByteBufferPool
bufferPool
private java.util.List<java.nio.ByteBuffer>
buffers
private int
bufferSize
private java.util.concurrent.atomic.LongAdder
bytesOut
private boolean
canEnqueue
private boolean
closed
private org.eclipse.jetty.io.EndPoint
endPoint
private java.util.List<FrameFlusher.FrameEntry>
entries
static BinaryFrame
FLUSH_FRAME
private Generator
generator
private static org.eclipse.jetty.util.log.Logger
LOG
private int
maxGather
private java.util.concurrent.atomic.LongAdder
messagesOut
private java.util.Deque<FrameFlusher.FrameEntry>
queue
private java.lang.Throwable
terminated
-
Constructor Summary
Constructors Constructor Description FrameFlusher(org.eclipse.jetty.io.ByteBufferPool bufferPool, Generator generator, org.eclipse.jetty.io.EndPoint endPoint, int bufferSize, int maxGather)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private org.eclipse.jetty.util.IteratingCallback.Action
batch()
boolean
enqueue(Frame frame, WriteCallback callback, BatchMode batchMode)
private org.eclipse.jetty.util.IteratingCallback.Action
flush()
long
getBytesOut()
long
getMessagesOut()
private int
getQueueSize()
protected void
notifyCallbackFailure(WriteCallback callback, java.lang.Throwable failure)
protected void
notifyCallbackSuccess(WriteCallback callback)
void
onCompleteFailure(java.lang.Throwable failure)
protected org.eclipse.jetty.util.IteratingCallback.Action
process()
private void
releaseAggregate()
void
succeeded()
private void
succeedEntries()
(package private) void
terminate(java.lang.Throwable cause)
java.lang.String
toString()
-
Methods inherited from class org.eclipse.jetty.util.IteratingCallback
close, failed, isClosed, isFailed, isSucceeded, iterate, onCompleteSuccess, reset
-
-
-
-
Field Detail
-
FLUSH_FRAME
public static final BinaryFrame FLUSH_FRAME
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
bufferPool
private final org.eclipse.jetty.io.ByteBufferPool bufferPool
-
endPoint
private final org.eclipse.jetty.io.EndPoint endPoint
-
bufferSize
private final int bufferSize
-
generator
private final Generator generator
-
maxGather
private final int maxGather
-
queue
private final java.util.Deque<FrameFlusher.FrameEntry> queue
-
entries
private final java.util.List<FrameFlusher.FrameEntry> entries
-
buffers
private final java.util.List<java.nio.ByteBuffer> buffers
-
messagesOut
private final java.util.concurrent.atomic.LongAdder messagesOut
-
bytesOut
private final java.util.concurrent.atomic.LongAdder bytesOut
-
closed
private boolean closed
-
canEnqueue
private boolean canEnqueue
-
terminated
private java.lang.Throwable terminated
-
aggregate
private java.nio.ByteBuffer aggregate
-
batchMode
private BatchMode batchMode
-
-
Constructor Detail
-
FrameFlusher
public FrameFlusher(org.eclipse.jetty.io.ByteBufferPool bufferPool, Generator generator, org.eclipse.jetty.io.EndPoint endPoint, int bufferSize, int maxGather)
-
-
Method Detail
-
enqueue
public boolean enqueue(Frame frame, WriteCallback callback, BatchMode batchMode)
-
process
protected org.eclipse.jetty.util.IteratingCallback.Action process() throws java.lang.Throwable
- Specified by:
process
in classorg.eclipse.jetty.util.IteratingCallback
- Throws:
java.lang.Throwable
-
batch
private org.eclipse.jetty.util.IteratingCallback.Action batch()
-
flush
private org.eclipse.jetty.util.IteratingCallback.Action flush()
-
getQueueSize
private int getQueueSize()
-
succeeded
public void succeeded()
- Specified by:
succeeded
in interfaceorg.eclipse.jetty.util.Callback
- Overrides:
succeeded
in classorg.eclipse.jetty.util.IteratingCallback
-
succeedEntries
private void succeedEntries()
-
onCompleteFailure
public void onCompleteFailure(java.lang.Throwable failure)
- Overrides:
onCompleteFailure
in classorg.eclipse.jetty.util.IteratingCallback
-
releaseAggregate
private void releaseAggregate()
-
terminate
void terminate(java.lang.Throwable cause)
-
notifyCallbackSuccess
protected void notifyCallbackSuccess(WriteCallback callback)
-
notifyCallbackFailure
protected void notifyCallbackFailure(WriteCallback callback, java.lang.Throwable failure)
-
getMessagesOut
public long getMessagesOut()
-
getBytesOut
public long getBytesOut()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classorg.eclipse.jetty.util.IteratingCallback
-
-