@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.v1p60p1.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.v1p60p1.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()