Class DynamicEntityDataSource
A dynamic entity data source that streams observations to a client.
Implements
Namespace: Esri.ArcGISRuntime.RealTime
Assembly: Esri.ArcGISRuntime.dll
Syntax
public abstract class DynamicEntityDataSource : ILoadableRemarks
The DynamicEntityDataSource class is the base class for classes that stream dynamic entity data. The class provides methods and properties that allow:
- maintenance of a persistent connection for streaming
- control over the storage of observations in its local data cache
- notification of received or purged observations
This class is used as the data source for a DynamicEntityLayer.
Users may extend this class by deriving from it. Derived classes must override the following methods:
- OnLoadAsync(): populate and return a DynamicEntityDataSourceInfo object.
- OnConnectAsync(CancellationToken): start receiving or processing observation data.
- OnDisconnectAsync(): stop receiving or processing observation data.
Constructors
| Name | Description | 
|---|---|
| DynamicEntityDataSource() | Initializes a new instance of the DynamicEntityDataSource class. | 
Properties
| Name | Description | 
|---|---|
| ConnectionError | Gets the current network connection exception. | 
| ConnectionStatus | Gets the current network connection status of the DynamicEntityDataSource. | 
| LoadError | Gets the load error. | 
| LoadStatus | Gets the load status. | 
| MaximumReconnectionAttempts | Gets or sets the maximum number of attempts to reconnect after a connection fails. | 
| PurgeOptions | Gets a DynamicEntityDataSourcePurgeOptions that defines when observations are purged from the local data cache. | 
| ReconnectionInterval | Gets or sets the time to wait between attempts to reconnect. | 
Methods
| Name | Description | 
|---|---|
| AddObservation(Geometry, IEnumerable<KeyValuePair<String, Object>>) | Adds or updates the newly-received observation data in the data source store. | 
| CancelLoad() | Cancels loading metadata for the object. | 
| ConnectAsync() | Connects to a service that provides dynamic entity observations. | 
| DeleteEntityAsync(String) | Deletes the dynamic entity identified by the ID value from the data source store. | 
| DisconnectAsync() | Closes the connection to a service. | 
| LoadAsync() | Loads the metadata for the object asynchronously. | 
| OnConnectAsync(CancellationToken) | Handles the connection process of a data source. | 
| OnDisconnectAsync() | Handles the disconnection process of a data source. | 
| OnLoadAsync() | Handles the loading process of a data source and returns DynamicEntityDataSourceInfo. | 
| PurgeAllAsync() | Removes all dynamic entity observations from the in-memory data cache as well as from the map or scene. | 
| QueryDynamicEntitiesAsync(DynamicEntityQueryParameters, CancellationToken) | Returns all dynamic entities currently matching the specified query parameters. | 
| RetryLoadAsync() | Loads or retries loading metadata for the object asynchronously. | 
| SetConnectionFailed(Exception, Boolean) | Handles the error when the connection fails and may attempt to reconnect. | 
Events
| Name | Description | 
|---|---|
| ConnectionStatusChanged | Notification that the ConnectionStatus has changed. | 
| DynamicEntityObservationPurged | Notification that a DynamicEntityObservation was purged. | 
| DynamicEntityObservationReceived | Notification that a new DynamicEntityObservation was received. | 
| DynamicEntityPurged | Notification that a DynamicEntity was purged. | 
| DynamicEntityReceived | Notification that a new DynamicEntity was received. | 
| Loaded | Occurs when the dynamic entity data source is loaded. | 
| LoadStatusChanged | Occurs when the dynamic entity data source LoadStatus is changed. | 
See Also
Applies to
| Target | Versions | 
|---|---|
| .NET Standard 2.0 | 200.3 - 200.8 | 
| .NET | 200.3 - 200.8 | 
| .NET Windows | 200.3 - 200.8 | 
| .NET Android | 200.3 - 200.8 | 
| .NET iOS | 200.3 - 200.8 | 
| .NET Framework | 200.3 - 200.8 | 
| UWP | 200.3 - 200.8 |