summaryrefslogtreecommitdiffstats
path: root/jrt/src/com/yahoo/jrt/RequestPacket.java
diff options
context:
space:
mode:
Diffstat (limited to 'jrt/src/com/yahoo/jrt/RequestPacket.java')
-rw-r--r--jrt/src/com/yahoo/jrt/RequestPacket.java52
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;
+ }
+}