protected override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(); if (!this.isShutdown) { this.internTable.Restore(reader); this.inputTrace.Restore(reader); this.outputTrace.Restore(reader); for (int i = 0; i < this.keyIndices.Length; ++i) { int length = reader.Read <int>(); if (length == 0) { this.keyIndices[i] = null; } else { Debug.Assert(length == 65536); this.keyIndices[i] = new UnaryKeyIndices[length]; for (int j = 0; j < this.keyIndices[i].Length; ++j) { this.keyIndices[i][j] = reader.Read <UnaryKeyIndices>(); } } } this.keysToProcess.Restore(reader); this.Input.Restore(reader); } }
protected override void Restore(NaiadReader reader) { base.Restore(reader); if (!this.isShutdown) { this.internTable.Restore(reader); this.inputTrace1.Restore(reader); this.inputTrace2.Restore(reader); this.outputTrace.Restore(reader); for (int i = 0; i < this.keyIndices.Length; ++i) { int length = reader.Read <int>(); if (length >= 0) { this.keyIndices[i] = new BinaryKeyIndices[length]; for (int j = 0; j < this.keyIndices[i].Length; ++j) { this.keyIndices[i][j] = reader.Read <BinaryKeyIndices>(); } } } this.Input1.Restore(reader); this.Input2.Restore(reader); } }
public void Restore(NaiadReader reader, NaiadSerialization <T> timeSerializer) { int before = reader.objectsRead; this.indices.Restore(reader, timeSerializer, PrimitiveSerializers.Int32); //Console.Error.WriteLine("% LIT.indices read {0} objects", reader.objectsRead - before); before = reader.objectsRead; this.times = FaultToleranceExtensionMethods.RestoreArray <T>(reader, n => { this.count = n; return(this.times.Length >= n ? this.times : new T[1 << BufferPoolUtils.Log2(n)]); }, timeSerializer); this.redirection = FaultToleranceExtensionMethods.RestoreArray <int>(reader, n => new int[n], PrimitiveSerializers.Int32); //Console.Error.WriteLine("% LIT.times read {0} objects", reader.objectsRead - before); before = reader.objectsRead; this.lastInterned = reader.Read <T>(timeSerializer); //Console.Error.WriteLine("% LIT.lastInterned read {0} objects", reader.objectsRead - before); before = reader.objectsRead; this.lastInternedResult = reader.Read <int>(PrimitiveSerializers.Int32); //Console.Error.WriteLine("% LIT.lastInternedResult read {0} objects", reader.objectsRead - before); }
public void Restore(NaiadReader reader) { if (tSerializer == null) { tSerializer = AutoSerialization.GetSerializer <T>(); } int spineCount = reader.Read <int>(PrimitiveSerializers.Int32); this.Spine.Clear(); this.Spine.EnsureCapacity(spineCount); this.Spine.Count = spineCount; for (int i = 0; i < spineCount; ++i) { this.Spine.Array[i] = new T[this.SegmentLength]; for (int j = 0; j < this.Spine.Array[i].Length; ++j) { this.Spine.Array[i][j] = reader.Read <T>(tSerializer); } } this.FreeList.Restore(reader, PrimitiveSerializers.Int32); this.Allocated = reader.Read <int>(PrimitiveSerializers.Int32); }
public override void Restore(NaiadReader reader) { base.Restore(reader); throw new NotImplementedException(); #if false //if (!this.terminated) { var timeSerializer = AutoSerialization.GetSerializer <T>(); if (sSerializer == null) { sSerializer = AutoSerialization.GetSerializer <S>(); } this.accumulations.Clear(); int accumulationsCount = reader.Read <int>(PrimitiveSerializers.Int32); for (int i = 0; i < accumulationsCount; ++i) { T key = reader.Read <T>(timeSerializer); Dictionary <S, Int64> value = new Dictionary <S, Int64>(); value.Restore(reader, sSerializer, PrimitiveSerializers.Int64); this.accumulations[key] = value; } } #endif }
/// <summary> /// Reads this list from the given reader. /// </summary> /// <typeparam name="TElement">The type of elements in the list.</typeparam> /// <param name="list">The list to be read.</param> /// <param name="reader">The reader.</param> public static void Restore <TElement>(this List <TElement> list, NaiadReader reader) { list.Clear(); int count = reader.Read <int>(); for (int i = 0; i < list.Count; ++i) { list.Add(reader.Read <TElement>()); } }
/// <summary> /// Restores from NaiadReader /// </summary> /// <param name="reader"></param> /// <param name="serializer"></param> /// <param name="intSerializer"></param> public void Restore(NaiadReader reader, NaiadSerialization <T> serializer, NaiadSerialization <Int32> intSerializer) { int readCount = reader.Read(intSerializer); this.Count = 0; Array.Clear(this.Spine, 0, this.Spine.Length); for (int i = 0; i < readCount; ++i) { this.Add(reader.Read(serializer)); } }
/// <summary> /// Reads an array from the given reader. /// </summary> /// <typeparam name="TElement">The type of elements in the array.</typeparam> /// <param name="reader">The reader.</param> /// <param name="allocator">An allocator function that allocates an array with at least as many elements as its argument.</param> /// <returns>The array.</returns> public static TElement[] RestoreArray <TElement>(NaiadReader reader, Func <int, TElement[]> allocator) { int count = reader.Read <int>(); TElement[] ret = allocator(count); for (int i = 0; i < count; ++i) { ret[i] = reader.Read <TElement>(); } return(ret); }
/// <summary> /// Reads this dictionary from the given reader. /// </summary> /// <typeparam name="TKey">The type of keys in the dictionary.</typeparam> /// <typeparam name="TValue">The type of values in the dictionary.</typeparam> /// <param name="dictionary">The dictionary to be read.</param> /// <param name="reader">The reader.</param> public static void Restore <TKey, TValue>(this Dictionary <TKey, TValue> dictionary, NaiadReader reader) { dictionary.Clear(); int count = reader.Read <int>(); for (int i = 0; i < count; ++i) { TKey key = reader.Read <TKey>(); TValue value = reader.Read <TValue>(); dictionary[key] = value; } }
protected override void Restore(NaiadReader reader) { this.nextAvailableEpoch = reader.Read <int>(); this.nextSendEpoch = reader.Read <int>(); int inputQueueCount = reader.Read <int>(); for (int i = 0; i < inputQueueCount; ++i) { S[] array = CheckpointRestoreExtensionMethods.RestoreArray <S>(reader, n => new S[n]); bool isLast = reader.Read <bool>(); this.inputQueue.Enqueue(new Instruction(array, isLast)); } }
public void Restore(NaiadReader reader) { var timeSerializer = AutoSerialization.GetSerializer <TTime>(); var valueSerializer = AutoSerialization.GetSerializer <TRecord>(); int readCount = reader.Read(PrimitiveSerializers.Int32); for (int i = 0; i < readCount; ++i) { TTime time = reader.Read(timeSerializer); SpinedList <TRecord> records = new SpinedList <TRecord>(); records.Restore(reader, valueSerializer); this.recordsToProcess[time] = records; } }
protected override void Restore(NaiadReader reader) { base.Restore(reader); //if (!this.terminated) { this.accumulations.Clear(); int accumulationsCount = reader.Read <int>(); for (int i = 0; i < accumulationsCount; ++i) { T key = reader.Read <T>(); Dictionary <S, Int64> value = new Dictionary <S, Int64>(); value.Restore(reader); this.accumulations[key] = value; } } }
protected override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(); if (!this.isShutdown) { this.internTable.Restore(reader); this.inputTrace.Restore(reader); this.outputTrace.Restore(reader); this.keyIndices.Restore(reader); //this.KeysToProcessAtTimes.Restore(reader, keySerializer); this.Input.Restore(reader); /* * int recordsToProcessCount = reader.Read<int>(PrimitiveSerializers.Int32); * * foreach (NaiadList<Weighted<S>> recordList in this.recordsToProcess.Values) * recordList.Free(); * this.recordsToProcess.Clear(); * * for (int i = 0; i < recordsToProcessCount; ++i) * { * T key = reader.Read<T>(timeSerializer); * NaiadList<Weighted<S>> value = new NaiadList<Weighted<S>>(); * value.Restore(reader, weightedSSerializer); * this.recordsToProcess[key] = value; * } */ } }
public static T[] RestoreArray <T>(NaiadReader reader, Func <int, T[]> allocator, NaiadSerialization <T> serializer) { if (intSerializer == null) { intSerializer = AutoSerialization.GetSerializer <int>(); } int count = reader.Read <int>(intSerializer); T[] ret = allocator(count); for (int i = 0; i < count; ++i) { ret[i] = reader.Read <T>(serializer); } return(ret); }
public static void Restore <S>(this List <S> list, NaiadReader reader, NaiadSerialization <S> serializer) // where S : IEquatable<S> { if (intSerializer == null) { intSerializer = AutoSerialization.GetSerializer <int>(); } list.Clear(); int count = reader.Read <int>(intSerializer); for (int i = 0; i < list.Count; ++i) { list.Add(reader.Read <S>(serializer)); } }
/// <summary> /// Restores this buffer from the given <see cref="NaiadReader"/>. /// </summary> /// <param name="reader">The reader.</param> public void Restore(NaiadReader reader) { var timeSerializer = this.Vertex.SerializationFormat.GetSerializer <TTime>(); var valueSerializer = this.Vertex.SerializationFormat.GetSerializer <TRecord>(); var intSerializer = this.Vertex.SerializationFormat.GetSerializer <Int32>(); int readCount = reader.Read(intSerializer); for (int i = 0; i < readCount; ++i) { TTime time = reader.Read(timeSerializer); SpinedList <TRecord> records = new SpinedList <TRecord>(); records.Restore(reader, valueSerializer, intSerializer); this.recordsToProcess[time] = records; } }
public void Restore(NaiadReader reader) { int spineCount = reader.Read<int>(); this.Spine.Clear(); this.Spine.EnsureCapacity(spineCount); this.Spine.Count = spineCount; for (int i = 0; i < spineCount; ++i) { this.Spine.Array[i] = new T[this.SegmentLength]; for (int j = 0; j < this.Spine.Array[i].Length; ++j) this.Spine.Array[i][j] = reader.Read<T>(); } this.FreeList.Restore(reader); this.Allocated = reader.Read<int>(); }
public static void Restore <S>(this NaiadList <S> list, NaiadReader reader, NaiadSerialization <S> serializer) // where S : IEquatable<S> { if (intSerializer == null) { intSerializer = AutoSerialization.GetSerializer <int>(); } list.Clear(); int count = reader.Read <int>(intSerializer); list.EnsureCapacity(count); list.Count = count; for (int i = 0; i < list.Count; ++i) { list.Array[i] = reader.Read <S>(serializer); } }
public override void Restore(NaiadReader reader) { if (weightedSSerializer == null) { weightedSSerializer = AutoSerialization.GetSerializer <S>(); } this.nextAvailableEpoch = reader.Read <int>(PrimitiveSerializers.Int32); this.nextSendEpoch = reader.Read <int>(PrimitiveSerializers.Int32); int inputQueueCount = reader.Read <int>(PrimitiveSerializers.Int32); for (int i = 0; i < inputQueueCount; ++i) { S[] array = FaultToleranceExtensionMethods.RestoreArray <S>(reader, n => new S[n], weightedSSerializer); bool isLast = reader.Read <bool>(PrimitiveSerializers.Bool); this.inputQueue.Enqueue(new Instruction(array, isLast)); } }
public override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(PrimitiveSerializers.Bool); if (!this.isShutdown) { if (timeSerializer == null) { timeSerializer = AutoSerialization.GetSerializer <T>(); } if (weightedSSerializer == null) { weightedSSerializer = AutoSerialization.GetSerializer <Weighted <S> >(); } this.internTable.Restore(reader, timeSerializer); this.inputTrace.Restore(reader); this.outputTrace.Restore(reader); for (int i = 0; i < this.keyIndices.Length; ++i) { int length = reader.Read(PrimitiveSerializers.Int32); if (length == 0) { this.keyIndices[i] = null; } else { Debug.Assert(length == 65536); this.keyIndices[i] = new UnaryKeyIndices[length]; for (int j = 0; j < this.keyIndices[i].Length; ++j) { this.keyIndices[i][j] = reader.Read(UnaryKeyIndices.Serializer); } } } this.keysToProcess.Restore(reader, PrimitiveSerializers.Int32); this.Input.Restore(reader); } }
public static void Restore <K, V>(this Dictionary <K, V> dictionary, NaiadReader reader, NaiadSerialization <K> keySerializer, NaiadSerialization <V> valueSerializer) //where K : IEquatable<K> //where V : IEquatable<V> { if (intSerializer == null) { intSerializer = AutoSerialization.GetSerializer <int>(); } dictionary.Clear(); int count = reader.Read <int>(intSerializer); for (int i = 0; i < count; ++i) { K key = reader.Read <K>(keySerializer); V value = reader.Read <V>(valueSerializer); dictionary[key] = value; } }
public override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(PrimitiveSerializers.Bool); if (!this.isShutdown) { if (timeSerializer == null) { timeSerializer = AutoSerialization.GetSerializer <T>(); } if (weightedS1Serializer == null) { weightedS1Serializer = AutoSerialization.GetSerializer <Weighted <S1> >(); } if (weightedS2Serializer == null) { weightedS2Serializer = AutoSerialization.GetSerializer <Weighted <S2> >(); } this.internTable.Restore(reader, timeSerializer); this.inputTrace1.Restore(reader); this.inputTrace2.Restore(reader); this.outputTrace.Restore(reader); for (int i = 0; i < this.keyIndices.Length; ++i) { int length = reader.Read <int>(PrimitiveSerializers.Int32); if (length >= 0) { this.keyIndices[i] = new BinaryKeyIndices[length]; for (int j = 0; j < this.keyIndices[i].Length; ++j) { this.keyIndices[i][j] = reader.Read <BinaryKeyIndices>(BinaryKeyIndices.Serializer); } } } this.Input1.Restore(reader); this.Input2.Restore(reader); } }
public void Restore(NaiadReader reader) { if (rSerializer == null) { rSerializer = AutoSerialization.GetSerializer <R>(); } bool isMutable = reader.Read <bool>(PrimitiveSerializers.Bool); if (isMutable) { int headsCount = reader.Read <int>(PrimitiveSerializers.Int32); this.heads = new List <int>(headsCount); for (int i = 0; i < headsCount; ++i) { this.heads.Add(reader.Read <int>(PrimitiveSerializers.Int32)); } int linksCount = reader.Read <int>(PrimitiveSerializers.Int32); if (pairSerializer == null) { pairSerializer = AutoSerialization.GetSerializer <Naiad.Pair <R, int> >(); } //this.links = new List<Naiad.Pair<R, int>>(linksCount); this.links = new SpinedList <Naiad.Pair <R, int> >(); for (int i = 0; i < linksCount; ++i) { this.links.Add(reader.Read <Naiad.Pair <R, int> >(pairSerializer)); } } else { int offsetsLength = reader.Read <int>(PrimitiveSerializers.Int32); offsets = new int[offsetsLength]; for (int i = 0; i < offsets.Length; ++i) { offsets[i] = reader.Read <int>(PrimitiveSerializers.Int32); } int dataLength = reader.Read <int>(PrimitiveSerializers.Int32); data = new R[dataLength]; for (int i = 0; i < data.Length; ++i) { data[i] = reader.Read <R>(rSerializer); } } }
protected override void Restore(NaiadReader reader) { base.Restore(reader); if (!this.isShutdown) { for (int i = 0; i < this.JoinKeys.Length; ++i) { int count = reader.Read <int>(); if (count >= 0) { this.JoinKeys[i] = new JoinIntKeyIndices[count]; for (int j = 0; j < this.JoinKeys[i].Length; ++j) { this.JoinKeys[i][j] = reader.Read <JoinIntKeyIndices>(); } } else { this.JoinKeys[i] = null; } } } }
public override void Restore(NaiadReader reader) { base.Restore(reader); if (!this.isShutdown) { for (int i = 0; i < this.JoinKeys.Length; ++i) { int count = reader.Read <int>(PrimitiveSerializers.Int32); if (count >= 0) { this.JoinKeys[i] = new JoinIntKeyIndices[count]; for (int j = 0; j < this.JoinKeys[i].Length; ++j) { this.JoinKeys[i][j] = reader.Read <JoinIntKeyIndices>(JoinIntKeyIndices.Serializer); } } else { this.JoinKeys[i] = null; } } } }
public void Restore(NaiadReader reader) { this.indices.Restore(reader); //Console.Error.WriteLine("% LIT.indices read {0} objects", reader.objectsRead - before); //before = reader.objectsRead; this.times = CheckpointRestoreExtensionMethods.RestoreArray <T>(reader, n => { this.count = n; return(this.times.Length >= n ? this.times : new T[n]); }); this.redirection = CheckpointRestoreExtensionMethods.RestoreArray <int>(reader, n => new int[n]); //Console.Error.WriteLine("% LIT.times read {0} objects", reader.objectsRead - before); this.lastInterned = reader.Read <T>(); //Console.Error.WriteLine("% LIT.lastInterned read {0} objects", reader.objectsRead - before); this.lastInternedResult = reader.Read <int>(); //Console.Error.WriteLine("% LIT.lastInternedResult read {0} objects", reader.objectsRead - before); }
protected override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(); if (!this.isShutdown) { this.internTable.Restore(reader); this.inputTrace1.Restore(reader); this.inputTrace2.Restore(reader); this.outputTrace.Restore(reader); this.keyIndices.Restore(reader); this.Input1.Restore(reader); this.Input2.Restore(reader); /* * int recordsToProcessCount1 = reader.Read<int>(PrimitiveSerializers.Int32); * * foreach (NaiadList<Weighted<S1>> recordList in this.recordsToProcess1.Values) * recordList.Free(); * this.recordsToProcess1.Clear(); * * for (int i = 0; i < recordsToProcessCount1; ++i) * { * T key = reader.Read<T>(timeSerializer); * NaiadList<Weighted<S1>> value = new NaiadList<Weighted<S1>>(); * value.Restore(reader, weightedS1Serializer); * this.recordsToProcess1[key] = value; * } * * int recordsToProcessCount2 = reader.Read<int>(PrimitiveSerializers.Int32); * * foreach (NaiadList<Weighted<S2>> recordList in this.recordsToProcess2.Values) * recordList.Free(); * this.recordsToProcess2.Clear(); * * for (int i = 0; i < recordsToProcessCount2; ++i) * { * T key = reader.Read<T>(timeSerializer); * NaiadList<Weighted<S2>> value = new NaiadList<Weighted<S2>>(); * value.Restore(reader, weightedS2Serializer); * this.recordsToProcess2[key] = value; * } */ } }
public override void Restore(NaiadReader reader) { base.Restore(reader); this.isShutdown = reader.Read <bool>(PrimitiveSerializers.Bool); if (!this.isShutdown) { if (timeSerializer == null) { timeSerializer = AutoSerialization.GetSerializer <T>(); } if (keySerializer == null) { keySerializer = AutoSerialization.GetSerializer <K>(); } if (weightedSSerializer == null) { weightedSSerializer = AutoSerialization.GetSerializer <Weighted <S> >(); } this.internTable.Restore(reader, timeSerializer); this.inputTrace.Restore(reader); this.outputTrace.Restore(reader); this.keyIndices.Restore(reader, keySerializer, UnaryKeyIndices.Serializer); this.keysToProcess.Restore(reader, keySerializer); this.Input.Restore(reader); /* * int recordsToProcessCount = reader.Read<int>(PrimitiveSerializers.Int32); * * foreach (NaiadList<Weighted<S>> recordList in this.recordsToProcess.Values) * recordList.Free(); * this.recordsToProcess.Clear(); * * for (int i = 0; i < recordsToProcessCount; ++i) * { * T key = reader.Read<T>(timeSerializer); * NaiadList<Weighted<S>> value = new NaiadList<Weighted<S>>(); * value.Restore(reader, weightedSSerializer); * this.recordsToProcess[key] = value; * } */ } }
public void Restore(NaiadReader reader) { bool isMutable = reader.Read <bool>(); if (isMutable) { int headsCount = reader.Read <int>(); this.heads = new List <int>(headsCount); for (int i = 0; i < headsCount; ++i) { this.heads.Add(reader.Read <int>()); } int linksCount = reader.Read <int>(); //this.links = new List<Naiad.Pair<R, int>>(linksCount); this.links = new SpinedList <Microsoft.Research.Naiad.Pair <R, int> >(); for (int i = 0; i < linksCount; ++i) { this.links.Add(reader.Read <Microsoft.Research.Naiad.Pair <R, int> >()); } } else { int offsetsLength = reader.Read <int>(); offsets = new int[offsetsLength]; for (int i = 0; i < offsets.Length; ++i) { offsets[i] = reader.Read <int>(); } int dataLength = reader.Read <int>(); data = new R[dataLength]; for (int i = 0; i < data.Length; ++i) { data[i] = reader.Read <R>(); } } }