forked from msgpack-rpc/msgpack-rpc
/
RequestMessage.java
77 lines (67 loc) · 2.15 KB
/
RequestMessage.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// MessagePack-RPC for Java
//
// Copyright (C) 2010 FURUHASHI Sadayuki
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package org.msgpack.rpc.message;
import java.io.IOException;
import org.msgpack.MessagePackable;
import org.msgpack.packer.Packer;
import org.msgpack.type.Value;
import org.msgpack.MessageTypeException;
import org.msgpack.unpacker.Unpacker;
public class RequestMessage implements MessagePackable {
private int msgid;
private String method;
private Object[] args;
public RequestMessage(int msgid, String method, Object[] args) {
this.msgid = msgid;
this.method = method;
this.args = args;
}
// public int getMessageID() {
// return msgid;
// }
// public String getMethodName() {
// return method;
// }
// public Object[] getArguments() {
// return args;
// }
public void writeTo(Packer pk) throws IOException {
pk.writeArrayBegin(4);
pk.write(Messages.REQUEST);
pk.write(msgid);
pk.write(method);
pk.writeArrayBegin(args.length);
for (Object arg : args) {
pk.write(arg);
}
pk.writeArrayEnd();
pk.writeArrayEnd();
}
public void readFrom(Unpacker u) throws IOException {
throw new UnsupportedOperationException();
}
public void messagePack(Packer pk) throws IOException {
writeTo(pk);
/*
* pk.packArray(4); pk.packInt(Messages.REQUEST); pk.packInt(msgid);
* pk.packString(method); pk.packArray(args.length); for(Object arg :
* args) { pk.pack(arg); }
*/
}
// FIXME messageConvert
}