public override void Stop()
{
Interlocked.Exchange(ref _is_started, 0);
lock ( _listener_map.SyncRoot ) {
_listener_map.Remove(_listener_id);
}
ArrayList list = null;
lock(_sync) {
list = new ArrayList(_edges.Values);
}
foreach(Edge e in list) {
try {
e.Close();
} catch { }
}
}