Home / Class/ DelegatingChannelPromiseNotifier Class — netty Architecture

DelegatingChannelPromiseNotifier Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  befd9e8d_e67e_64ec_ff36_4b0609f0778f["DelegatingChannelPromiseNotifier"]
  62e689fd_7412_0277_fd27_a92b7f8b576a["DelegatingChannelPromiseNotifier.java"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|defined in| 62e689fd_7412_0277_fd27_a92b7f8b576a
  7d3f9efd_422f_4f52_2c61_6d469a1f5e66["DelegatingChannelPromiseNotifier()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 7d3f9efd_422f_4f52_2c61_6d469a1f5e66
  860ea0f6_42d7_3a17_f4dc_18d722037474["operationComplete()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 860ea0f6_42d7_3a17_f4dc_18d722037474
  25dae518_f4aa_a3ad_5837_b37ad7ec690c["Channel()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 25dae518_f4aa_a3ad_5837_b37ad7ec690c
  9ec82af3_f2da_f5c8_6879_b5592a474e5c["ChannelPromise()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 9ec82af3_f2da_f5c8_6879_b5592a474e5c
  74571f24_6e1c_fcc3_9994_3514921a7352["trySuccess()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 74571f24_6e1c_fcc3_9994_3514921a7352
  73234e3f_7390_c358_a987_4766cc7225c2["tryFailure()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 73234e3f_7390_c358_a987_4766cc7225c2
  37ca5755_a1bd_05fc_0de7_f001a8b9bef3["setUncancellable()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 37ca5755_a1bd_05fc_0de7_f001a8b9bef3
  897d7627_f18e_fa0f_b883_8b29cecbeafe["isVoid()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 897d7627_f18e_fa0f_b883_8b29cecbeafe
  36062c97_ffcd_db05_202a_7d77e7f12cbe["await()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 36062c97_ffcd_db05_202a_7d77e7f12cbe
  f310c15d_d13d_4bf9_a913_0b6c25750ad2["awaitUninterruptibly()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| f310c15d_d13d_4bf9_a913_0b6c25750ad2
  22e466d8_77f1_6e2f_4aa5_09d6486e907e["Void()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 22e466d8_77f1_6e2f_4aa5_09d6486e907e
  d9daa489_1e43_c185_5858_b4993755151e["cancel()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| d9daa489_1e43_c185_5858_b4993755151e
  52efb244_4bb2_7c86_6f3a_20e70a48209b["isCancelled()"]
  befd9e8d_e67e_64ec_ff36_4b0609f0778f -->|method| 52efb244_4bb2_7c86_6f3a_20e70a48209b

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/DelegatingChannelPromiseNotifier.java lines 31–226

@UnstableApi
public final class DelegatingChannelPromiseNotifier implements ChannelPromise, ChannelFutureListener {
    private static final InternalLogger logger =
            InternalLoggerFactory.getInstance(DelegatingChannelPromiseNotifier.class);
    private final ChannelPromise delegate;
    private final boolean logNotifyFailure;

    public DelegatingChannelPromiseNotifier(ChannelPromise delegate) {
        this(delegate, !(delegate instanceof VoidChannelPromise));
    }

    public DelegatingChannelPromiseNotifier(ChannelPromise delegate, boolean logNotifyFailure) {
        this.delegate = checkNotNull(delegate, "delegate");
        this.logNotifyFailure = logNotifyFailure;
    }

    @Override
    public void operationComplete(ChannelFuture future) throws Exception {
        InternalLogger internalLogger = logNotifyFailure ? logger : null;
        if (future.isSuccess()) {
            Void result = future.get();
            PromiseNotificationUtil.trySuccess(delegate, result, internalLogger);
        } else if (future.isCancelled()) {
            PromiseNotificationUtil.tryCancel(delegate, internalLogger);
        } else {
            Throwable cause = future.cause();
            PromiseNotificationUtil.tryFailure(delegate, cause, internalLogger);
        }
    }

    @Override
    public Channel channel() {
        return delegate.channel();
    }

    @Override
    public ChannelPromise setSuccess(Void result) {
        delegate.setSuccess(result);
        return this;
    }

    @Override
    public ChannelPromise setSuccess() {
        delegate.setSuccess();
        return this;
    }

    @Override
    public boolean trySuccess() {
        return delegate.trySuccess();
    }

    @Override
    public boolean trySuccess(Void result) {
        return delegate.trySuccess(result);
    }

    @Override
    public ChannelPromise setFailure(Throwable cause) {
        delegate.setFailure(cause);
        return this;
    }

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

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

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

Frequently Asked Questions

What is the DelegatingChannelPromiseNotifier class?
DelegatingChannelPromiseNotifier is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/DelegatingChannelPromiseNotifier.java.
Where is DelegatingChannelPromiseNotifier defined?
DelegatingChannelPromiseNotifier is defined in transport/src/main/java/io/netty/channel/DelegatingChannelPromiseNotifier.java at line 31.

Analyze Your Own Codebase

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

Try Supermodel Free