@Override public boolean cancel(boolean mayInterruptIfRunning) { return promise.cancel(mayInterruptIfRunning); }
@Override public boolean cancel(boolean mayInterruptIfRunning) { return promise.cancel(mayInterruptIfRunning); }
@Override public boolean cancel(boolean mayInterruptIfRunning) { return delegate.cancel(mayInterruptIfRunning); }
@Override public void close() { try { channel.close(); for (ClientInfo client : pendingClients.values()) { client.promise.cancel(true); } pendingClients.clear(); } finally { group.shutdownGracefully(); } }
@Override public final void channelInactive(ChannelHandlerContext ctx) throws Exception { if (rpcs.size() > 0) { LOG.warn("[{}] Closing RPC channel with {} outstanding RPCs.", name(), rpcs.size()); for (OutstandingRpc rpc : rpcs) { rpc.future.cancel(true); } } super.channelInactive(ctx); }
/** Requests a running job to be cancelled. */ @Override public boolean cancel(boolean mayInterrupt) { if (changeState(State.CANCELLED)) { client.cancel(jobId); promise.cancel(mayInterrupt); return true; } return false; }
/** * Try to cancel the {@link Promise} and log if {@code logger} is not {@code null} in case this fails. */ public static void tryCancel(Promise<?> p, InternalLogger logger) { if (!p.cancel(false) && logger != null) { Throwable err = p.cause(); if (err == null) { logger.warn("Failed to cancel promise because it has succeeded already: {}", p); } else { logger.warn( "Failed to cancel promise because it has failed already: {}, unnotified cause:", p, err); } } }
public static <X> void cascadeTo(Future<X> completedFuture, Promise<? super X> promise) { if (completedFuture.isSuccess()) { if (!promise.trySuccess(completedFuture.getNow())) { logger.warn("Failed to mark a promise as success because it is done already: {}", promise); } } else if (completedFuture.isCancelled()) { if (!promise.cancel(false)) { logger.warn("Failed to cancel a promise because it is done already: {}", promise); } } else { if (!promise.tryFailure(completedFuture.cause())) { logger.warn("Failed to mark a promise as failure because it's done already: {}", promise, completedFuture.cause()); } } } }
/** * Try to cancel the {@link Promise} and log if {@code logger} is not {@code null} in case this fails. */ public static void tryCancel(Promise<?> p, InternalLogger logger) { if (!p.cancel(false) && logger != null) { Throwable err = p.cause(); if (err == null) { logger.warn("Failed to cancel promise because it has succeeded already: {}", p); } else { logger.warn( "Failed to cancel promise because it has failed already: {}, unnotified cause:", p, err); } } }
public static <X> void cascadeTo(Future<X> completedFuture, Promise<? super X> promise) { if (completedFuture.isSuccess()) { if (!promise.trySuccess(completedFuture.getNow())) { logger.warn("Failed to mark a promise as success because it is done already: {}", promise); } } else if (completedFuture.isCancelled()) { if (!promise.cancel(false)) { logger.warn("Failed to cancel a promise because it is done already: {}", promise); } } else { if (!promise.tryFailure(completedFuture.cause())) { logger.warn("Failed to mark a promise as failure because it's done already: {}", promise, completedFuture.cause()); } } } }
/** * Try to cancel the {@link Promise} and log if {@code logger} is not {@code null} in case this fails. */ public static void tryCancel(Promise<?> p, InternalLogger logger) { if (!p.cancel(false) && logger != null) { Throwable err = p.cause(); if (err == null) { logger.warn("Failed to cancel promise because it has succeeded already: {}", p); } else { logger.warn( "Failed to cancel promise because it has failed already: {}, unnotified cause:", p, err); } } }
public static <X> void cascadeTo(Future<X> completedFuture, Promise<? super X> promise) { if (completedFuture.isSuccess()) { if (!promise.trySuccess(completedFuture.getNow())) { logger.warn("Failed to mark a promise as success because it is done already: {}", promise); } } else if (completedFuture.isCancelled()) { if (!promise.cancel(false)) { logger.warn("Failed to cancel a promise because it is done already: {}", promise); } } else { if (!promise.tryFailure(completedFuture.cause())) { logger.warn("Failed to mark a promise as failure because it's done already: {}", promise, completedFuture.cause()); } } } }
@Override public void operationComplete(ChannelFuture future) throws Exception { if (future.isSuccess()) { promise.setSuccess(streamChannel); } else if (future.isCancelled()) { promise.cancel(false); } else { if (streamChannel.isRegistered()) { streamChannel.close(); } else { streamChannel.unsafe().closeForcibly(); } promise.setFailure(future.cause()); } } });
/** * Try to cancel the {@link Promise} and log if {@code logger} is not {@code null} in case this fails. */ public static void tryCancel(Promise<?> p, InternalLogger logger) { if (!p.cancel(false) && logger != null) { Throwable err = p.cause(); if (err == null) { logger.warn("Failed to cancel promise because it has succeeded already: {}", p); } else { logger.warn( "Failed to cancel promise because it has failed already: {}, unnotified cause:", p, err); } } }
public static <X> void cascadeTo(Future<X> completedFuture, Promise<? super X> promise) { if (completedFuture.isSuccess()) { if (!promise.trySuccess(completedFuture.getNow())) { logger.warn("Failed to mark a promise as success because it is done already: {}", promise); } } else if (completedFuture.isCancelled()) { if (!promise.cancel(false)) { logger.warn("Failed to cancel a promise because it is done already: {}", promise); } } else { if (!promise.tryFailure(completedFuture.cause())) { logger.warn("Failed to mark a promise as failure because it's done already: {}", promise, completedFuture.cause()); } } } }
/** * Cancel the request * * @param throwable the exception to be associated to this promise */ public void cancel(Throwable throwable) { this.promise.cancel(true); this.exception = throwable; }
/** * Cancel the request */ public void cancel() { promise.cancel(true); }
@Override public final void channelInactive(ChannelHandlerContext ctx) throws Exception { if (rpcs.size() > 0) { LOG.warn("[{}] Closing RPC channel with {} outstanding RPCs.", name(), rpcs.size()); for (OutstandingRpc rpc : rpcs) { rpc.future.cancel(true); } } else { LOG.debug("Channel {} became inactive.", ctx.channel()); } super.channelInactive(ctx); }
@Override public final void channelInactive(ChannelHandlerContext ctx) throws Exception { if (rpcs.size() > 0) { LOG.warn("[{}] Closing RPC channel with {} outstanding RPCs.", name(), rpcs.size()); for (OutstandingRpc rpc : rpcs) { rpc.future.cancel(true); } } super.channelInactive(ctx); }
/** Requests a running job to be cancelled. */ @Override public boolean cancel(boolean mayInterrupt) { if (changeState(State.CANCELLED)) { client.cancel(jobId); promise.cancel(mayInterrupt); return true; } return false; }