summaryrefslogtreecommitdiffstats
path: root/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
diff options
context:
space:
mode:
Diffstat (limited to 'documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java')
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
index 099839672a2..9812f214066 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java
@@ -607,6 +607,10 @@ public abstract class RoutableFactories60 {
msg.setDocumentPut(new DocumentPut(Document.createDocument(buf)));
msg.setTimestamp(buf.getLong(null));
decodeTasCondition(msg, buf);
+ if (buf.getBuf().hasRemaining()) {
+ byte value = buf.getBuf().get();
+ msg.setCreateIfNonExistent(value != 0);
+ }
}
@Override
@@ -627,6 +631,11 @@ public abstract class RoutableFactories60 {
msg.getDocumentPut().getDocument().serialize(buf);
buf.putLong(null, msg.getTimestamp());
encodeTasCondition(buf, (TestAndSetMessage) obj);
+ if (msg.getCreateIfNonExistent()) {
+ buf.getBuf().put((byte)1);
+ } else {
+ buf.getBuf().put((byte)0);
+ }
}
return true;
}