AFListData.EndOfStreamAsync Method
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Returns an end-of-stream AFValue for each attribute in this list.
Namespace: OSIsoft.AF.Data
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public Task<IList<AFValue>> EndOfStreamAsync( CancellationToken cancellationToken = default )
Public Function EndOfStreamAsync ( Optional cancellationToken As CancellationToken = Nothing ) As Task(Of IList(Of AFValue)) Dim instance As AFListData Dim cancellationToken As CancellationToken Dim returnValue As Task(Of IList(Of AFValue)) returnValue = instance.EndOfStreamAsync(cancellationToken)
public: Task<IList<AFValue^>^>^ EndOfStreamAsync( CancellationToken cancellationToken = CancellationToken() )
member EndOfStreamAsync : ?cancellationToken : CancellationToken (* Defaults: let _cancellationToken = defaultArg cancellationToken new CancellationToken() *) -> Task<IList<AFValue>>
Parameters
- cancellationToken (Optional)
- Type: System.ThreadingCancellationToken
A cancellation token used to abort processing before completion. Passing the default CancellationToken.None will run to completion or until the PIConnectionInfo.OperationTimeOut period elapses.
Return Value
Type: TaskIListAFValueReturns a task whose result is an AFValue list, one for each attribute in this list. If AFValue.IsGood returned by the data reference is , then the returned value is converted to the default UOM of the attribute and proper Type. The timestamp of the value will indicate the time of the recorded event. In the case of calculation based data references, it will normally indicate the closest input value's recorded value timestamp.
Exceptions
| Exception | Condition |
|---|---|
| AggregateException | Asynchronous methods throw AggregateException on failure which will contain one or more exceptions containing the failure. |
Remarks
The end of stream is the value with the largest or newest timestamp.
| This method, property, or class is not available in the legacy .NET 3.5 version of the SDK. |
| You must have ReadData security rights to read a data value. |
| This call might use a background task to complete some of its work. See the Threading Overview for some matters to consider when execution transitions to another thread. |
| Asynchronous data calls on lists in AF SDK attempt to do as much work as possible asynchronously. Requested data access that cannot be performed asynchronously will fall back to synchronous calls so the entire list query is handled. |
| Impersonation of AF SDK asynchronous calls relies on the .NET framework's built-in support for flowing execution context across asynchronous points. When making these calls while impersonating, the thread or runtime must be configured to propagate the impersonation across these asynchronous points (see the SecurityContext documentation for details). |