diff --git a/pom.xml b/pom.xml index a145073cd..5f7b87c63 100755 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ net.openhft chronicle-bom pom - 1.0.5 + 1.0.6-SNAPSHOT import @@ -64,7 +64,8 @@ - + + net.openhft chronicle-core diff --git a/src/main/java/net/openhft/chronicle/map/MapStatelessClient.java b/src/main/java/net/openhft/chronicle/map/MapStatelessClient.java index bdb34b59d..0465d1bcb 100644 --- a/src/main/java/net/openhft/chronicle/map/MapStatelessClient.java +++ b/src/main/java/net/openhft/chronicle/map/MapStatelessClient.java @@ -3,7 +3,6 @@ package net.openhft.chronicle.map; import net.openhft.chronicle.engine.client.ClientWiredStatelessTcpConnectionHub; import net.openhft.chronicle.wire.CoreFields; import net.openhft.chronicle.wire.ParameterizeWireKey; -import net.openhft.chronicle.wire.WireKey; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -33,32 +32,10 @@ public abstract class MapStatelessClient< E extends ParameterizeWireKey> extends @Nullable Object... args) { return proxyReturnWireConsumerInOut(eventId, - toParameters(eventId, args), - f -> f.read(CoreFields.reply) - .object(resultType)); + CoreFields.reply, toParameters(eventId, args), + f -> f.object(resultType)); } - -/* - protected E proxyReturnE(@NotNull final WireKey eventId, - @Nullable final O arg, - @NotNull final Class eClass) { - - - return proxyReturnWireConsumerInOut(eventId, - valueOut -> valueOut.object(arg), - f -> f.read(CoreFields.reply) - .object(eClass)); - } - - protected E proxyReturnE(@NotNull final WireKey eventId, - @NotNull final Class eClass) { - return proxyReturnWireConsumer(eventId, - f -> f.read(CoreFields.reply) - .object(eClass)); - } */ - - } diff --git a/src/main/java/net/openhft/chronicle/map/MapWireHandlerProcessor.java b/src/main/java/net/openhft/chronicle/map/MapWireHandlerProcessor.java index b5620e5f6..c72fdab3f 100644 --- a/src/main/java/net/openhft/chronicle/map/MapWireHandlerProcessor.java +++ b/src/main/java/net/openhft/chronicle/map/MapWireHandlerProcessor.java @@ -209,7 +209,7 @@ public class MapWireHandlerProcessor implements if (clear.contentEquals(eventName)) { map.clear(); - outWire.writeEventName(reply).marshallable(AbstactStatelessClient.EMPTY); + return; } @@ -223,7 +223,6 @@ public class MapWireHandlerProcessor implements } map.putAll(data); - outWire.writeEventName(reply).marshallable(AbstactStatelessClient.EMPTY); return; } @@ -436,31 +435,26 @@ public class MapWireHandlerProcessor implements */ private void writeData(@NotNull Consumer c) { - final long position = outWire.bytes().position(); outWire.writeDocument(false, out -> { - start = outWire.bytes().position(); - + final long position = outWire.bytes().position(); try { c.accept(outWire); - } catch (Exception e) { - - LOG.error("", e); - out.getValueOut() - .type(e.getClass().getSimpleName()) - .writeValue().text(e.getMessage()); + } catch (Exception exception) { + outWire.bytes().position(position); + outWire.writeEventName(() -> "exception").marshallable( + new net.openhft.chronicle.wire.util.ExceptionMarshaller(exception)); } + + // write 'reply : {} ' if no data was sent + if (position == outWire.bytes().position()) { + outWire.writeEventName(reply).marshallable(AbstactStatelessClient.EMPTY); + } + }); - // rollback if no data was written - if (start == outWire.bytes().position()) { - if (outWire.bytes().position() == start) { - outWire.bytes().position(position); - } - - } }