// user arbitrary thread void IEngine.ClosePeer(int timeout, ICommPeer peer, IDoneEvent observer) { lock (_self.mutex) { _self.repo.Remove(peer); _self.counters.Vcall_Event_CloseCommPeer++; } _self.resolver.Cancel(peer.Tag); peer.Stop(timeout, observer); }
protected abstract void Stop(TimeSpan timeout, IDoneEvent observer);
void ICommPeer.Stop(int timeout, IDoneEvent observer) { Stop(TimeSpan.FromMilliseconds(timeout), observer); }