@NotThreadSafe public class BeamFnDataOutboundAggregator extends java.lang.Object
The default size-based buffer threshold can be overridden by specifying the experiment data_buffer_size_limit=<bytes>
 
The default time-based buffer threshold can be overridden by specifying the experiment data_buffer_time_limit_ms=<milliseconds>
| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
DATA_BUFFER_SIZE_LIMIT  | 
static java.lang.String | 
DATA_BUFFER_TIME_LIMIT_MS  | 
static int | 
DEFAULT_BUFFER_LIMIT_BYTES  | 
static long | 
DEFAULT_BUFFER_LIMIT_TIME_MS  | 
| Constructor and Description | 
|---|
BeamFnDataOutboundAggregator(PipelineOptions options,
                            java.util.function.Supplier<java.lang.String> processBundleRequestIdSupplier,
                            org.apache.beam.vendor.grpc.v1p54p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements> outboundObserver,
                            boolean collectElementsIfNoFlushes)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
discard()  | 
<T> FnDataReceiver<T> | 
registerOutputDataLocation(java.lang.String pTransformId,
                          Coder<T> coder)
Register the outbound data logical endpoint, returns the FnDataReceiver for processing the
 endpoint's outbound data. 
 | 
<T> FnDataReceiver<T> | 
registerOutputTimersLocation(java.lang.String pTransformId,
                            java.lang.String timerFamilyId,
                            Coder<T> coder)
Register the outbound timers logical endpoint, returns the FnDataReceiver for processing the
 endpoint's outbound timers data. 
 | 
void | 
sendElements(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements elements)  | 
org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements | 
sendOrCollectBufferedDataAndFinishOutboundStreams()
Closes the streams for all registered outbound endpoints. 
 | 
void | 
start()
Starts the flushing daemon thread if data_buffer_time_limit_ms is set. 
 | 
public static final java.lang.String DATA_BUFFER_SIZE_LIMIT
public static final int DEFAULT_BUFFER_LIMIT_BYTES
public static final java.lang.String DATA_BUFFER_TIME_LIMIT_MS
public static final long DEFAULT_BUFFER_LIMIT_TIME_MS
public BeamFnDataOutboundAggregator(PipelineOptions options, java.util.function.Supplier<java.lang.String> processBundleRequestIdSupplier, org.apache.beam.vendor.grpc.v1p54p0.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements> outboundObserver, boolean collectElementsIfNoFlushes)
public void start()
public <T> FnDataReceiver<T> registerOutputDataLocation(java.lang.String pTransformId, Coder<T> coder)
public <T> FnDataReceiver<T> registerOutputTimersLocation(java.lang.String pTransformId, java.lang.String timerFamilyId, Coder<T> coder)
public org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements sendOrCollectBufferedDataAndFinishOutboundStreams()
public void sendElements(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements elements)
public void discard()