Exemple #1
0
        void ScheduleTimeout(IChannelHandlerContext context, Task future)
        {
            var task        = new WriteTimeoutTask(context, future, this);
            var wrappedTask = new LinkedListNode <WriteTimeoutTask>(task);

            task.ScheduledTask = context.Executor.Schedule(task, timeout);

            if (!task.ScheduledTask.Completion.IsCompleted)
            {
                this.AddWriteTimeoutTask(wrappedTask);
            }
        }
        void ScheduleTimeout(IChannelHandlerContext context, Task future)
        {
            // Schedule a timeout.
            var task = new WriteTimeoutTask(context, future, this);

            task.ScheduledTask = context.Executor.Schedule(task, _timeout);

            if (!task.ScheduledTask.Completion.IsCompleted)
            {
                AddWriteTimeoutTask(task);

                // Cancel the scheduled timeout if the flush promise is complete.
                _ = future.ContinueWith(WriteTimeoutTask.OperationCompleteAction, task, TaskContinuationOptions.ExecuteSynchronously);
            }
        }
 void RemoveWriteTimeoutTask(WriteTimeoutTask task)
 {
     _ = tasks.Remove(task);
 }
 void AddWriteTimeoutTask(WriteTimeoutTask task)
 {
     _ = tasks.AddLast(task);
 }
Exemple #5
0
 void RemoveWriteTimeoutTask(WriteTimeoutTask task)
 {
     this.tasks.Remove(task);
 }
 void AddWriteTimeoutTask(WriteTimeoutTask task)
 {
     this.tasks.AddLast(task);
 }