This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
The following commit(s) were added to refs/heads/master by this push: new bcf9cb4 complete futures exceptionally when the channelFuture fails. bcf9cb4 is described below commit bcf9cb4bc1681de6efb7d8650b3f54f529170cf1 Author: Sebastian Rühl <sru...@apache.org> AuthorDate: Thu Apr 19 10:44:01 2018 +0200 complete futures exceptionally when the channelFuture fails. --- .../java/ads/connection/AdsAbstractPlcConnection.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java index 194197e..1e0d8c9 100644 --- a/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java +++ b/plc4j/protocols/ads/src/main/java/org/apache/plc4x/java/ads/connection/AdsAbstractPlcConnection.java @@ -18,6 +18,7 @@ */ package org.apache.plc4x.java.ads.connection; +import io.netty.channel.ChannelFuture; import org.apache.plc4x.java.ads.api.generic.types.AmsNetId; import org.apache.plc4x.java.ads.api.generic.types.AmsPort; import org.apache.plc4x.java.ads.model.AdsAddress; @@ -78,14 +79,24 @@ public abstract class AdsAbstractPlcConnection extends AbstractPlcConnection imp @Override public CompletableFuture<PlcReadResponse> read(PlcReadRequest readRequest) { CompletableFuture<PlcReadResponse> readFuture = new CompletableFuture<>(); - channel.writeAndFlush(new PlcRequestContainer<>(readRequest, readFuture)); + ChannelFuture channelFuture = channel.writeAndFlush(new PlcRequestContainer<>(readRequest, readFuture)); + channelFuture.addListener(future -> { + if (!future.isSuccess()) { + readFuture.completeExceptionally(future.cause()); + } + }); return readFuture; } @Override public CompletableFuture<PlcWriteResponse> write(PlcWriteRequest writeRequest) { CompletableFuture<PlcWriteResponse> writeFuture = new CompletableFuture<>(); - channel.writeAndFlush(new PlcRequestContainer<>(writeRequest, writeFuture)); + ChannelFuture channelFuture = channel.writeAndFlush(new PlcRequestContainer<>(writeRequest, writeFuture)); + channelFuture.addListener(future -> { + if (!future.isSuccess()) { + writeFuture.completeExceptionally(future.cause()); + } + }); return writeFuture; } -- To stop receiving notification emails like this one, please contact sru...@apache.org.