Ejemplo n.º 1
0
        async Task AddStoreAsync(string type)
        {
            if (_dataTreeAddresses.ContainsKey(type))
            {
                return;
            }

            Task onHeadChange(MdLocator newLocation) => UpdateTypeStores(type, newLocation);

            var dataTree = await DataTreeFactory.CreateAsync(onHeadChange).ConfigureAwait(false);

            _dataTreeCache[type]     = dataTree;
            _dataTreeAddresses[type] = dataTree.MdLocator;
            await _typeInfo.AddAsync(type, dataTree.MdLocator).ConfigureAwait(false);
        }
Ejemplo n.º 2
0
        async Task InitStreamAsync(string type)
        {
            await InitDb();

            if (_dataTreeAddresses.ContainsKey(type))
            {
                return;
            }

            Task OnHeadChange(MdLocator newLocation) => UpdateTypeStores(type, newLocation);

            var dataTree = await _dataTreeFactory.CreateAsync(OnHeadChange).ConfigureAwait(false);

            _dataTreeCache[type]     = dataTree;
            _dataTreeAddresses[type] = dataTree.MdLocator;
            await _streams.AddAsync(type, dataTree.MdLocator).ConfigureAwait(false);
        }