Example #1
0
        /// <summary>
        /// Dont forget to close streams after read.
        /// </summary>
        /// <param name="headerStream"></param>
        /// <param name="indexStream"></param>
        /// <returns>Processed node count</returns>
        public int Build()
        {
            PrepareForBuild();

            TrieSerializer.SerializeHeaderWithJsonSerializer(_headerStream, _header);

            var processedNodeCount = TrieSerializer.SerializeIndexWithBinaryWriter(_trie.Root, _header, _indexStream);

            return(processedNodeCount);
        }
Example #2
0
        public static TrieIndexHeader ReadHeaderFile(string path)
        {
            Stream stream = new FileStream(
                path,
                FileMode.Open,
                FileAccess.Read,
                FileShare.Read
                );

            return(TrieSerializer.DeserializeHeaderWithXmlSerializer(stream, false));
        }
Example #3
0
        public static int CreateIndexFile(this TrieBinaryReader instance, TrieIndexHeader header, TrieNode node, string path, int readBufferSizeInBytes)
        {
            Stream stream = new FileStream(
                path,
                FileMode.OpenOrCreate,
                FileAccess.Write,
                FileShare.None,
                readBufferSizeInBytes,
                FileOptions.RandomAccess
                );

            return(TrieSerializer.SerializeIndexWithBinaryWriter(node, header, stream));
        }
Example #4
0
        public static void CreateHeaderFile(this TrieIndexHeader header, string path)
        {
            Stream stream = new FileStream(
                path,
                FileMode.OpenOrCreate,
                FileAccess.Write,
                FileShare.None
                );

            TrieSerializer.SerializeHeaderWithJsonSerializer(stream, header);

            //stream.Close();
            stream.Dispose();
            stream = null;
        }
Example #5
0
        internal virtual TrieIndexHeader GetHeader()
        {
            var header = TrieSerializer.DeserializeHeaderWithXmlSerializer(_headerStream);

            return(header);
        }