예제 #1
0
        private void AddOrUpdateNoLock(SmartTransaction tx)
        {
            var hash = tx.GetHash();

            if (tx.Confirmed)
            {
                if (MempoolStore.TryRemove(hash, out SmartTransaction found))
                {
                    found.TryUpdate(tx);
                    ConfirmedStore.TryAddOrUpdate(found);
                }
                else
                {
                    ConfirmedStore.TryAddOrUpdate(tx);
                }
            }
            else
            {
                if (!ConfirmedStore.TryUpdate(tx))
                {
                    MempoolStore.TryAddOrUpdate(tx);
                }
            }
        }
    public async ValueTask DisposeAsync()
    {
        await MempoolStore.DisposeAsync().ConfigureAwait(false);

        await ConfirmedStore.DisposeAsync().ConfigureAwait(false);
    }
예제 #3
0
        public async ValueTask DisposeAsync()
        {
            await MempoolStore.DisposeAsync();

            await ConfirmedStore.DisposeAsync();
        }