# ViDi2.Remote.Connection.IConnectMonitor

Periodically pings a service to make sure the client has not disconnected. Once started, this runs in the background until it is disposed.

Methods
void Start() | Allows the connection monitor to start pinging a service. This is called automatically when a remote control finishes connecting to a service.
void Dispose() | Waits for the current ping to complete (or timeout), then stops the background task.
Property
TimeSpan DefaultWaitTime | The amount of time to wait between consecutive pings.
TimeSpan DisconnectedWaitTime | The amount of time to wait after an unsuccessful ping before trying again.
bool IsRunning | True if the connection monitor is periodically pinging the service.
Events
EventHandler<string> ServerTimedOut | Raised when the service fails to respond to a ping. The argument passed to the EventHandler is the service's uri.
EventHandler<string> ServerConnectionRecovered | Raised when the service successfully responds to a ping after failing to respond at least once. The argument passed to the EventHandler is the service's uri.
EventHandler<string> ServerHasChanged | Raised when the control connects to a different service. The argument passed to the EventHandler is the new service's uri.