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 : ILoadable
  Remarks
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 |