public PushSubject(CancellationToken cancellationToken) { #if ETL_DEBUG var msg = $"{_id}\t<{this.GetType().GetFullName()}>\tCreated"; Console.WriteLine(msg); TmpClass.Log(msg); #endif this.CancellationToken = cancellationToken; cancellationToken.Register(this.Complete); }
public void Complete() { lock (LockObject) { if (this._isComplete) { return; } #if ETL_DEBUG var msg = $"{_id}\t<{this.GetType().GetFullName()}>\tCompleted"; Console.WriteLine(msg); TmpClass.Log(msg); #endif this._isComplete = true; foreach (var item in this.Subscriptions.ToList()) { if (item.OnComplete != null) { item.OnComplete(); } } } }