private void OnDeserializedCallback(StreamingContext context) { // Constructors and field initializers are not called by DCS, so initialize things here progressUpdateLock = new ReaderWriterLockSlim(); lockEnumerateContinuationToken = new object(); EnumerationWaitTimeOut = TimeSpan.FromSeconds(10); if (!IsStreamJournal) { this.subTransfers = this.serializeSubTransfers; } else { this.subTransfers = new TransferCollection <SingleObjectTransfer>(); } this.subTransfers.OverallProgressTracker.Parent = this.ProgressTracker; // DataContractSerializer doesn't invoke object's constructor, we should initialize member variables here. shouldTransferQueue = new TaskQueue <Tuple <SingleObjectTransfer, TransferEntry> >(TransferManager.Configurations.ParallelOperations * Constants.ListSegmentLengthMultiplier); }
/// <summary> /// Initializes a new instance of the <see cref="MultipleObjectsTransfer"/> class. /// </summary> /// <param name="source">Transfer source.</param> /// <param name="dest">Transfer destination.</param> /// <param name="transferMethod">Transfer method, see <see cref="TransferMethod"/> for detail available methods.</param> public MultipleObjectsTransfer(TransferLocation source, TransferLocation dest, TransferMethod transferMethod) : base(source, dest, transferMethod) { this.subTransfers = new TransferCollection <SingleObjectTransfer>(); this.subTransfers.OverallProgressTracker.Parent = this.ProgressTracker; }