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 classFrameFlusher.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.ByteBufferaggregateprivate BatchModebatchModeprivate org.eclipse.jetty.io.ByteBufferPoolbufferPoolprivate java.util.List<java.nio.ByteBuffer>buffersprivate intbufferSizeprivate java.util.concurrent.atomic.LongAdderbytesOutprivate booleancanEnqueueprivate booleanclosedprivate org.eclipse.jetty.io.EndPointendPointprivate java.util.List<FrameFlusher.FrameEntry>entriesstatic BinaryFrameFLUSH_FRAMEprivate Generatorgeneratorprivate static org.eclipse.jetty.util.log.LoggerLOGprivate intmaxGatherprivate java.util.concurrent.atomic.LongAddermessagesOutprivate java.util.Deque<FrameFlusher.FrameEntry>queueprivate java.lang.Throwableterminated
-
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.Actionbatch()booleanenqueue(Frame frame, WriteCallback callback, BatchMode batchMode)private org.eclipse.jetty.util.IteratingCallback.Actionflush()longgetBytesOut()longgetMessagesOut()private intgetQueueSize()protected voidnotifyCallbackFailure(WriteCallback callback, java.lang.Throwable failure)protected voidnotifyCallbackSuccess(WriteCallback callback)voidonCompleteFailure(java.lang.Throwable failure)protected org.eclipse.jetty.util.IteratingCallback.Actionprocess()private voidreleaseAggregate()voidsucceeded()private voidsucceedEntries()(package private) voidterminate(java.lang.Throwable cause)java.lang.StringtoString()-
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:
processin 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:
succeededin interfaceorg.eclipse.jetty.util.Callback- Overrides:
succeededin classorg.eclipse.jetty.util.IteratingCallback
-
succeedEntries
private void succeedEntries()
-
onCompleteFailure
public void onCompleteFailure(java.lang.Throwable failure)
- Overrides:
onCompleteFailurein 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:
toStringin classorg.eclipse.jetty.util.IteratingCallback
-
-