Home / Class/ DefaultProgressivePromise Class — netty Architecture

DefaultProgressivePromise Class — netty Architecture

Architecture documentation for the DefaultProgressivePromise class in DefaultProgressivePromise.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a["DefaultProgressivePromise"]
  4a00391d_bffa_d779_54f4_036f0f37bb25["DefaultProgressivePromise.java"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|defined in| 4a00391d_bffa_d779_54f4_036f0f37bb25
  885bc750_6859_9750_d2d1_089105a46e00["DefaultProgressivePromise()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 885bc750_6859_9750_d2d1_089105a46e00
  a68b0318_d647_7094_b0cb_e431e6d372a7["setProgress()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| a68b0318_d647_7094_b0cb_e431e6d372a7
  79268a6f_29db_afe5_8c2f_3cd63cbb0156["tryProgress()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 79268a6f_29db_afe5_8c2f_3cd63cbb0156
  b6654cce_f1fd_0b9e_c358_1903fe2fdd65["addListener()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| b6654cce_f1fd_0b9e_c358_1903fe2fdd65
  d55456f2_069c_6f34_4800_2f698904c559["addListeners()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| d55456f2_069c_6f34_4800_2f698904c559
  c70599a6_f168_6ffd_1f1c_c6e088ace445["removeListener()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| c70599a6_f168_6ffd_1f1c_c6e088ace445
  d66c952d_19fe_e522_3b79_b6fb6ae2a682["removeListeners()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| d66c952d_19fe_e522_3b79_b6fb6ae2a682
  0125cf5f_5e55_d2d9_b63a_1cea5dd57d65["sync()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 0125cf5f_5e55_d2d9_b63a_1cea5dd57d65
  43fd99d2_19f7_0c19_4be1_5887e8bd3866["syncUninterruptibly()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 43fd99d2_19f7_0c19_4be1_5887e8bd3866
  1fbbca3e_154d_bc47_cf6a_fd8291c95132["await()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 1fbbca3e_154d_bc47_cf6a_fd8291c95132
  e989d384_cca7_c1cf_40f4_fb3048368915["awaitUninterruptibly()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| e989d384_cca7_c1cf_40f4_fb3048368915
  dc9135c7_ffda_a30c_f8e0_4461ea5d69a2["setSuccess()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| dc9135c7_ffda_a30c_f8e0_4461ea5d69a2
  65f1fdd1_b24f_eb8c_b22c_e55ed8598032["setFailure()"]
  b24fe5e0_3f85_bfcd_60fb_d12dfc91b56a -->|method| 65f1fdd1_b24f_eb8c_b22c_e55ed8598032

Relationship Graph

Source Code

common/src/main/java/io/netty/util/concurrent/DefaultProgressivePromise.java lines 21–130

public class DefaultProgressivePromise<V> extends DefaultPromise<V> implements ProgressivePromise<V> {

    /**
     * Creates a new instance.
     *
     * It is preferable to use {@link EventExecutor#newProgressivePromise()} to create a new progressive promise
     *
     * @param executor
     *        the {@link EventExecutor} which is used to notify the promise when it progresses or it is complete
     */
    public DefaultProgressivePromise(EventExecutor executor) {
        super(executor);
    }

    protected DefaultProgressivePromise() { /* only for subclasses */ }

    @Override
    public ProgressivePromise<V> setProgress(long progress, long total) {
        if (total < 0) {
            // total unknown
            total = -1; // normalize
            checkPositiveOrZero(progress, "progress");
        } else if (progress < 0 || progress > total) {
            throw new IllegalArgumentException(
                    "progress: " + progress + " (expected: 0 <= progress <= total (" + total + "))");
        }

        if (isDone()) {
            throw new IllegalStateException("complete already");
        }

        notifyProgressiveListeners(progress, total);
        return this;
    }

    @Override
    public boolean tryProgress(long progress, long total) {
        if (total < 0) {
            total = -1;
            if (progress < 0 || isDone()) {
                return false;
            }
        } else if (progress < 0 || progress > total || isDone()) {
            return false;
        }

        notifyProgressiveListeners(progress, total);
        return true;
    }

    @Override
    public ProgressivePromise<V> addListener(GenericFutureListener<? extends Future<? super V>> listener) {
        super.addListener(listener);
        return this;
    }

    @Override
    public ProgressivePromise<V> addListeners(GenericFutureListener<? extends Future<? super V>>... listeners) {
        super.addListeners(listeners);
        return this;
    }

    @Override
    public ProgressivePromise<V> removeListener(GenericFutureListener<? extends Future<? super V>> listener) {
        super.removeListener(listener);
        return this;
    }

    @Override
    public ProgressivePromise<V> removeListeners(GenericFutureListener<? extends Future<? super V>>... listeners) {
        super.removeListeners(listeners);
        return this;
    }

    @Override
    public ProgressivePromise<V> sync() throws InterruptedException {
        super.sync();
        return this;
    }

    @Override

Frequently Asked Questions

What is the DefaultProgressivePromise class?
DefaultProgressivePromise is a class in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/DefaultProgressivePromise.java.
Where is DefaultProgressivePromise defined?
DefaultProgressivePromise is defined in common/src/main/java/io/netty/util/concurrent/DefaultProgressivePromise.java at line 21.

Analyze Your Own Codebase

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

Try Supermodel Free