Example #1
0
 internal PartitionedBloomFilter(PartitionedBloomState state)
 {
     this.M          = state.M;
     this.k          = state.k;
     this.S          = state.S;
     this.Hash       = Defaults.GetDefaultHashAlgorithm();
     this.Partitions = state.buckets.Select(x => new Buckets(x)).ToArray();
 }
        internal static void Serialize(BinaryWriter bw, PartitionedBloomState state)
        {
            bw.Write(state.M);
            bw.Write(state.K);
            bw.Write(state.S);
            bw.Write(state.Count);

            bw.Write(state.Buckets.Length);
            foreach (var bucket in state.Buckets)
            {
                BucketSerializer.Serialize(bw, bucket);
            }
        }
        public void Serialize(Stream stream, PartitionedBloomFilter filter)
        {
            using (var bw = new BinaryWriter(stream))
            {
                bw.Write(DataFormatMajorVersion);
                bw.Write(DataFormatMinorVersion);

                PartitionedBloomState data = filter.GetState();

                Serialize(bw, data);

                bw.Flush();
            }
        }
        internal static void Serialize(BinaryWriter bw, PartitionedBloomState state)
        {
            bw.Write(state.M);
            bw.Write(state.K);
            bw.Write(state.S);
            bw.Write(state.Count);

            bw.Write(state.Buckets.Length);
            foreach (var bucket in state.Buckets)
                BucketSerializer.Serialize(bw, bucket);

        }