public class BeamFnDataSizeBasedBufferingOutboundObserver<T> extends java.lang.Object implements BeamFnDataBufferingOutboundObserver<T>
FnDataReceiver for the Beam Fn Data API.
 TODO: Handle outputting large elements (> 2GiBs). Note that this also applies to the input side as well.
TODO: Handle outputting elements that are zero bytes by outputting a single byte as a marker, detect on the input side that no bytes were read and force reading a single byte.
BEAM_FN_API_DATA_BUFFER_LIMIT, BEAM_FN_API_DATA_BUFFER_SIZE_LIMIT, BEAM_FN_API_DATA_BUFFER_TIME_LIMIT, DATA_BUFFER_SIZE_LIMIT, DATA_BUFFER_TIME_LIMIT_MS, DEFAULT_BUFFER_LIMIT_BYTES, DEFAULT_BUFFER_LIMIT_TIME_MS| Modifier and Type | Method and Description | 
|---|---|
| void | accept(T t) | 
| void | close(). | 
| void | flush()Eagerly flushes any data that is buffered in this channel. | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforLocation, getSizeLimit, getTimeLimitpublic void close()
           throws java.lang.Exception
CloseableFnDataReceiverDoes nothing if this CloseableFnDataReceiver is already closed.
close in interface java.lang.AutoCloseableclose in interface CloseableFnDataReceiver<T>java.lang.Exceptionpublic void flush()
           throws java.io.IOException
CloseableFnDataReceiverflush in interface CloseableFnDataReceiver<T>java.io.IOExceptionpublic void accept(T t) throws java.io.IOException
accept in interface FnDataReceiver<T>java.io.IOException