public override void Start() { if(Interlocked.Exchange(ref _started, 1) == 1) { throw new Exception("TunnelEdgeListener cannot be started twice."); } _oco.IsActive = true; Interlocked.Exchange(ref _running, 1); }