public class RateLimitingStreamSinkConduit
extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit> Allows send speed to be throttled
Note that throttling is applied after an initial write, so if a big write is performed initially it may be a while before it can write again.
| Constructor and Description |
|---|
RateLimitingStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next, int bytes, long time, TimeUnit timeUnit) |
| Modifier and Type | Method and Description |
|---|---|
void | awaitWritable() |
void | awaitWritable(long time, TimeUnit timeUnit) |
boolean | isWriteResumed() |
void | resumeWrites() |
void | suspendWrites() |
long | transferFrom(FileChannel src, long position, long count) |
long | transferFrom(org.xnio.channels.StreamSourceChannel source, long count, ByteBuffer throughBuffer) |
void | wakeupWrites() |
int | write(ByteBuffer src) |
long | write(ByteBuffer[] srcs, int offs, int len) |
int | writeFinal(ByteBuffer src) |
long | writeFinal(ByteBuffer[] srcs, int offs, int len) |
flush, getWriteThread, isWriteShutdown, setWriteReadyHandler, terminateWrites, truncateWritesclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic RateLimitingStreamSinkConduit(org.xnio.conduits.StreamSinkConduit next,
int bytes,
long time,
TimeUnit timeUnit) next - The next conduitbytes - The number of bytes that are allowed per time frametime - The time frametimeUnit - The time unitpublic int write(ByteBuffer src) throws IOException
write in interface org.xnio.conduits.StreamSinkConduitwrite in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic long transferFrom(FileChannel src, long position, long count) throws IOException
transferFrom in interface org.xnio.conduits.StreamSinkConduittransferFrom in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic long transferFrom(org.xnio.channels.StreamSourceChannel source,
long count,
ByteBuffer throughBuffer)
throws IOException transferFrom in interface org.xnio.conduits.StreamSinkConduittransferFrom in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic long write(ByteBuffer[] srcs, int offs, int len) throws IOException
write in interface org.xnio.conduits.StreamSinkConduitwrite in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic int writeFinal(ByteBuffer src) throws IOException
writeFinal in interface org.xnio.conduits.StreamSinkConduitwriteFinal in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic long writeFinal(ByteBuffer[] srcs, int offs, int len) throws IOException
writeFinal in interface org.xnio.conduits.StreamSinkConduitwriteFinal in class org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic void resumeWrites()
resumeWrites in interface org.xnio.conduits.SinkConduitresumeWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>public void suspendWrites()
suspendWrites in interface org.xnio.conduits.SinkConduitsuspendWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>public void wakeupWrites()
wakeupWrites in interface org.xnio.conduits.SinkConduitwakeupWrites in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>public boolean isWriteResumed()
isWriteResumed in interface org.xnio.conduits.SinkConduitisWriteResumed in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>public void awaitWritable()
throws IOException awaitWritable in interface org.xnio.conduits.SinkConduitawaitWritable in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionpublic void awaitWritable(long time,
TimeUnit timeUnit)
throws IOException awaitWritable in interface org.xnio.conduits.SinkConduitawaitWritable in class org.xnio.conduits.AbstractSinkConduit<org.xnio.conduits.StreamSinkConduit>IOExceptionCopyright © 2020 JBoss by Red Hat. All rights reserved.