/// <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(); var serializer = new TrieIndexHeaderSerializer(); serializer.Serialize(_headerStream, _header); var processedNodeCount = TrieIndexSerializer.Serialize(_trie.Root, _header, _indexStream); return(processedNodeCount); }
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(TrieIndexSerializer.Serialize(node, header, stream)); }