View Javadoc

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  }