public void UpdateTimeout(string id)
        {
            if (_map.ContainsKey(id))
            {
                if (_scheduler.Cancel(_map[id].Id))
                {
                    _map[id] = new ConnectivityCheckJob(this, id, DateTime.Now.AddMilliseconds(DEFAULT_HEARTBEAT_TIMEOUT));

                    _scheduler.Schedule(_map[id]);
                }
            }
        }
        public void Register(string id)
        {
            if (_map.ContainsKey(id))
            {
                if (_scheduler.Cancel(_map[id].Id))
                {
                    _map[id] = new ConnectivityCheckJob(this, id, DateTime.Now.AddMilliseconds(DEFAULT_HEARTBEAT_TIMEOUT));

                    _scheduler.Schedule(_map[id]);
                }
            }
            else
            {
                var job = new ConnectivityCheckJob(this, id, DateTime.Now.AddMilliseconds(DEFAULT_HEARTBEAT_TIMEOUT));

                _map.TryAdd(id, job);

                _scheduler.Schedule(_map[id]);
            }
        }