Home / Function/ scheduleRemoveScheduled() — netty Function Reference

scheduleRemoveScheduled() — netty Function Reference

Architecture documentation for the scheduleRemoveScheduled() function in SingleThreadEventExecutor.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d19115ba_3182_5468_97c7_239c6acc4a73["scheduleRemoveScheduled()"]
  c9189467_acbc_07ea_3a8c_fecfe22ec122["SingleThreadEventExecutor"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|defined in| c9189467_acbc_07ea_3a8c_fecfe22ec122
  ced7700b_627f_0ab1_ff34_9e3824dfeea8["execute()"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|calls| ced7700b_627f_0ab1_ff34_9e3824dfeea8
  8846f570_8032_89c9_e9e7_f552f8890802["Runnable()"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|calls| 8846f570_8032_89c9_e9e7_f552f8890802
  4b4e2a57_ff72_0b7e_a075_ec9d6f860ef0["run()"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|calls| 4b4e2a57_ff72_0b7e_a075_ec9d6f860ef0
  8788a3e1_4d1c_dfe7_a689_228654574da1["canSuspend()"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|calls| 8788a3e1_4d1c_dfe7_a689_228654574da1
  a4b61d3b_50c5_e24e_858c_83456faa0c45["trySuspend()"]
  d19115ba_3182_5468_97c7_239c6acc4a73 -->|calls| a4b61d3b_50c5_e24e_858c_83456faa0c45
  style d19115ba_3182_5468_97c7_239c6acc4a73 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/concurrent/SingleThreadEventExecutor.java lines 1000–1023

    @Override
    void scheduleRemoveScheduled(final ScheduledFutureTask<?> task) {
        ObjectUtil.checkNotNull(task, "task");
        int currentState = state;
        if (supportSuspension && currentState == ST_SUSPENDED) {
            // In the case of scheduling for removal we need to also ensure we will recover the "suspend" state
            // after it if it was set before. Otherwise we will always end up "unsuspending" things on cancellation
            // which is not optimal.
            execute(new Runnable() {
                @Override
                public void run() {
                    task.run();
                    if (canSuspend(ST_SUSPENDED)) {
                        // Try suspending again to recover the state before we submitted the new task that will
                        // handle cancellation itself.
                        trySuspend();
                    }
                }
            }, true);
        } else {
            // task will remove itself from scheduled task queue when it runs
            execute(task, false);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does scheduleRemoveScheduled() do?
scheduleRemoveScheduled() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/SingleThreadEventExecutor.java.
Where is scheduleRemoveScheduled() defined?
scheduleRemoveScheduled() is defined in common/src/main/java/io/netty/util/concurrent/SingleThreadEventExecutor.java at line 1000.
What does scheduleRemoveScheduled() call?
scheduleRemoveScheduled() calls 5 function(s): Runnable, canSuspend, execute, run, trySuspend.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free