Example #1
0
        static void SaveCache(IPredictionEnvironment environment, int expectedPairsHash, int expectedHistoryHash, RAMDirectory directory)
        {
            using (var writer = environment.CreateStaticDictionaryCache())
            {
                writer.Write(FileHeaderMagic);
                writer.Write(expectedPairsHash);
                writer.Write(expectedHistoryHash);

                var names = directory.ListAll();
                writer.Write((System.Int16)names.Length);

                foreach (var name in names)
                {
                    var reader = directory.OpenInput(name);
                    var length = reader.Length();
                    var buffer = new byte[length];
                    reader.ReadBytes(buffer, 0, (int)length);

                    writer.Write(name);
                    writer.Write((System.Int32)length);
                    writer.Write(buffer);
                }
            }
        }