Example #1
0
        public void RetrieveAliasFromId()
        {
            AddValidBlocksWithFork();

            var status0 = _store.TryGetAlias(CommittedBlockId.Genesis, out var alias0);

            Assert.Equal(GetBlockAliasStatus.Success, status0);
            Assert.Equal(BlockAlias.Genesis, alias0);
            var status1 = _store.TryGetAlias(_hash1, out var alias1);

            Assert.Equal(GetBlockAliasStatus.Success, status1);
            Assert.Equal(_1, alias1);
            var status2 = _store.TryGetAlias(_hash2, out var alias2);

            Assert.Equal(GetBlockAliasStatus.Success, status2);
            Assert.Equal(_2, alias2);
            var status3 = _store.TryGetAlias(_hash3, out var alias3);

            Assert.Equal(GetBlockAliasStatus.Success, status3);
            Assert.Equal(_2_1, alias3);
            var status4 = _store.TryGetAlias(GetMockBlockId(42), out var alias4);

            Assert.Equal(GetBlockAliasStatus.BlockNotFound, status4);
            Assert.False(alias4.IsDefined);
        }
Example #2
0
        public GetBlockHandleResponse GetBlockHandle(GetBlockHandleRequest request)
        {
            BlockAlias alias;
            var        status = request.IsCommitted
                ? _store.TryGetAlias(request.CommittedBlockId, out alias)
                : _store.TryGetAlias(request.UncommittedBlockId, out alias);

            switch (status)
            {
            case GetBlockAliasStatus.Success:
                return(new GetBlockHandleResponse(ref request.MessageHeader, request.Mask, alias, _pool));

            case GetBlockAliasStatus.BlockNotFound:
                return(new GetBlockHandleResponse(ref request.MessageHeader, GetBlockHandleStatus.BlockNotFound,
                                                  _pool));

            default:
                throw new NotSupportedException();
            }
        }