Esempio n. 1
0
        public void WriteNodeToBatch(ulong id, IHashTrieNode node, RocksDbAtomicWrite tx)
        {
            var prefix = EntryPrefix.PersistentHashMap.BuildPrefix(id);

            tx.Put(prefix, NodeSerializer.ToBytes(node));
            var hashPrefix = EntryPrefix.VersionByHash.BuildPrefix(node.Hash);

            tx.Put(hashPrefix, UInt64Utils.ToBytes(id));
        }
Esempio n. 2
0
        public IHashTrieNode?TryGetNode(ulong id)
        {
            var prefix = EntryPrefix.PersistentHashMap.BuildPrefix(id);
            var raw    = _rocksDbContext.Get(prefix);

            if (raw == null)
            {
                return(null);
            }
            return(NodeSerializer.FromBytes(raw));
        }
Esempio n. 3
0
        public IHashTrieNode?GetNode(ulong id)
        {
            if (id == 0)
            {
                Console.WriteLine("0000000000000");
            }
            var prefix = EntryPrefix.PersistentHashMap.BuildPrefix(id);
            var raw    = _rocksDbContext.Get(prefix);

            if (raw is null)
            {
                return(null);
            }
            return(NodeSerializer.FromBytes(raw));
        }