diff options
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.java | 9 |
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; } |