private void TransmissionFinished(object sender, PropertyChangedEventArgs e) {
if (e.PropertyName != Utils.NameOf((Transmission t) => t.Status)) {
return;
}
var transmission = sender as Transmission;
if (transmission != null &&
(transmission.Status == TransmissionStatus.ABORTED || transmission.Status == TransmissionStatus.FINISHED)) {
lock (this.collectionLock) {
this.activeTransmissions.Remove(transmission);
transmission.PropertyChanged -= this.TransmissionFinished;
Logger.Debug("Transmission removed");
}
}
}
}