diff options
Diffstat (limited to 'jrt/src/com/yahoo/jrt/RequestPacket.java')
-rw-r--r-- | jrt/src/com/yahoo/jrt/RequestPacket.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/jrt/src/com/yahoo/jrt/RequestPacket.java b/jrt/src/com/yahoo/jrt/RequestPacket.java new file mode 100644 index 00000000000..bffcbd05f81 --- /dev/null +++ b/jrt/src/com/yahoo/jrt/RequestPacket.java @@ -0,0 +1,52 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jrt; + + +import java.nio.ByteBuffer; + + +class RequestPacket extends Packet +{ + private StringValue methodName; + private Values parameters; + + public RequestPacket(int flags, int reqId, + String methodName, + Values parameters) + { + super(flags, reqId); + this.methodName = new StringValue(methodName); + this.parameters = parameters; + } + + public RequestPacket(int flags, int reqId, + ByteBuffer src) + { + super(flags, reqId); + methodName = new StringValue(src); + parameters = new Values(src); + } + + public int bytes() { + return (headerLength + + methodName.bytes() + + parameters.bytes()); + } + + public int packetCode() { + return PCODE_REQUEST; + } + + public void encode(ByteBuffer dst) { + methodName.encode(dst); + parameters.encode(dst); + } + + public String methodName() { + return methodName.asString(); + } + + public Values parameters() { + return parameters; + } +} |