// 
// Decompiled by Procyon v0.6.0
// 

package io.netty.util.concurrent;

public interface EventExecutor extends EventExecutorGroup, ThreadAwareExecutor
{
    EventExecutorGroup parent();
    
    default boolean isExecutorThread(final Thread thread) {
        return this.inEventLoop(thread);
    }
    
    default boolean inEventLoop() {
        return this.inEventLoop(Thread.currentThread());
    }
    
    boolean inEventLoop(final Thread p0);
    
    default <V> Promise<V> newPromise() {
        return new DefaultPromise<V>(this);
    }
    
    default <V> ProgressivePromise<V> newProgressivePromise() {
        return new DefaultProgressivePromise<V>(this);
    }
    
    default <V> Future<V> newSucceededFuture(final V result) {
        return new SucceededFuture<V>(this, result);
    }
    
    default <V> Future<V> newFailedFuture(final Throwable cause) {
        return new FailedFuture<V>(this, cause);
    }
    
    default boolean isSuspended() {
        return false;
    }
    
    default boolean trySuspend() {
        return false;
    }
}
