1 /********************************************************************************
2 *
3 * Copyright (c) 2009 Fujitsu Services Ltd.
4 *
5 * Author: Nick Battle
6 *
7 * This file is part of VDMJ.
8 *
9 * VDMJ is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation, either version 3 of the License, or
12 * (at your option) any later version.
13 *
14 * VDMJ is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with VDMJ. If not, see <http://www.gnu.org/licenses/>.
21 *
22 ******************************************************************************/
23
24 package org.overturetool.vdmj.runtime;
25
26 import org.overturetool.vdmj.values.BUSValue;
27 import org.overturetool.vdmj.values.CPUValue;
28 import org.overturetool.vdmj.values.ObjectValue;
29 import org.overturetool.vdmj.values.OperationValue;
30 import org.overturetool.vdmj.values.ValueList;
31
32 public class MessageRequest extends MessagePacket
33 {
34 public final ValueList args;
35 public final Holder<MessageResponse> replyTo;
36
37 public MessageRequest(
38 BUSValue bus, CPUValue from, CPUValue to, ObjectValue target,
39 OperationValue operation,
40 ValueList args, Holder<MessageResponse> replyTo)
41 {
42 super(bus, from, to, target, operation);
43
44 this.args = args;
45 this.replyTo = replyTo;
46 }
47
48 public MessageRequest()
49 {
50 super();
51
52 this.args = null;
53 this.replyTo = null;
54 }
55
56 public int getSize()
57 {
58 return args.toString().length();
59 }
60 }