コード例 #1
0
 protected virtual void Enqueued(EventArgs e)
 {
     if (OnEnqueue != null)
     {
         OnEnqueue.BeginInvoke(this, null, null, null);
     }
 }
コード例 #2
0
 void Enqueue()
 {
     NumberPending--;
     NumberWaiting++;
     Console.WriteLine($"{ClockTime}\t{GetType().Name}#{Index}\tEnqueue. #Pending: {NumberPending} #Waiting: {NumberWaiting}");
     OnEnqueue.Invoke();
 }
コード例 #3
0
        /// <summary>
        /// Enqueues the <see cref="DatabaseEventOutboxItem"/> <paramref name="list"/> into the database.
        /// </summary>
        /// <param name="db">The <see cref="IDatabase"/>.</param>
        /// <param name="list">The <see cref="DatabaseEventOutboxItem"/> list.</param>
        public async Task EnqueueAsync(IDatabase db, IEnumerable <DatabaseEventOutboxItem> list)
        {
            if (list == null || !list.Any())
            {
                return;
            }

            await Check.NotNull(db, nameof(db))
            .StoredProcedure(DbEnqueueStoredProcedureName)
            .Param(EventListParamName, CreateTableValuedParameter(list))
            .NonQueryAsync().ConfigureAwait(false);

            OnEnqueue?.Invoke(this, EventArgs.Empty);
        }
コード例 #4
0
        public void Enqueue(T value)
        {
            var newNode = new Node(value);

            if (tail == null)
            {
                head = newNode;
            }
            else
            {
                tail.Next = newNode;
            }

            tail = newNode;
            Count++;
            OnEnqueue?.Invoke(this);
        }
コード例 #5
0
        public async Task EnqueueAsync(WebApp.Shared.Database database)
        {
            // ensure work was not already queued
            foreach (var db in _queue)
            {
                if (db.Id == database.Id)
                {
                    return;
                }
            }

            _queue.Enqueue(database);
            if (OnEnqueue != null)
            {
                await OnEnqueue.Invoke();
            }
        }
コード例 #6
0
 public new void Enqueue(T item)
 {
     base.Enqueue(item);
     OnEnqueue?.Invoke(this, item);
 }
コード例 #7
0
 public void AddPawnToQue(Pawn pawn)
 {
     patientQueue.Enqueue(pawn);
     OnEnqueue?.Invoke(this, EventArgs.Empty);
 }