~ubuntu-branches/ubuntu/raring/libjboss-remoting-java/raring

« back to all changes in this revision

Viewing changes to src/tests/org/jboss/test/remoting/performance/synchronous/Payload.java

  • Committer: Package Import Robot
  • Author(s): Torsten Werner
  • Date: 2011-09-09 14:01:03 UTC
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: package-import@ubuntu.com-20110909140103-o8ucrolqt5g25k57
Tags: upstream-2.5.3.SP1
ImportĀ upstreamĀ versionĀ 2.5.3.SP1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
* JBoss, Home of Professional Open Source
 
3
* Copyright 2005, JBoss Inc., and individual contributors as indicated
 
4
* by the @authors tag. See the copyright.txt in the distribution for a
 
5
* full listing of individual contributors.
 
6
*
 
7
* This is free software; you can redistribute it and/or modify it
 
8
* under the terms of the GNU Lesser General Public License as
 
9
* published by the Free Software Foundation; either version 2.1 of
 
10
* the License, or (at your option) any later version.
 
11
*
 
12
* This software is distributed in the hope that it will be useful,
 
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 
15
* Lesser General Public License for more details.
 
16
*
 
17
* You should have received a copy of the GNU Lesser General Public
 
18
* License along with this software; if not, write to the Free
 
19
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 
20
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 
21
*/
 
22
 
 
23
package org.jboss.test.remoting.performance.synchronous;
 
24
 
 
25
import java.io.Externalizable;
 
26
import java.io.IOException;
 
27
import java.io.ObjectInput;
 
28
import java.io.ObjectOutput;
 
29
 
 
30
/**
 
31
 * @author <a href="mailto:tom.elrod@jboss.com">Tom Elrod</a>
 
32
 */
 
33
public class Payload implements Externalizable
 
34
{
 
35
   private int callNumber = 0;
 
36
   private Object payload = null;
 
37
 
 
38
   public Payload()
 
39
   {
 
40
 
 
41
   }
 
42
 
 
43
   public Payload(Object payload)
 
44
   {
 
45
      this.payload = payload;
 
46
   }
 
47
 
 
48
   public void setCallNumber(int callNumber)
 
49
   {
 
50
      this.callNumber = callNumber;
 
51
   }
 
52
 
 
53
   public int getCallNumber()
 
54
   {
 
55
      return callNumber;
 
56
   }
 
57
 
 
58
   public Object getPayload()
 
59
   {
 
60
      return payload;
 
61
   }
 
62
 
 
63
   public String toString()
 
64
   {
 
65
      StringBuffer buffer = new StringBuffer("Payload (" + super.toString() + ") contains:\n");
 
66
      buffer.append("call number: " + callNumber + "\n");
 
67
      buffer.append("payload value: " + payload + "\n");
 
68
      return buffer.toString();
 
69
   }
 
70
 
 
71
   /**
 
72
    * The object implements the readExternal method to restore its
 
73
    * contents by calling the methods of DataInput for primitive
 
74
    * types and readObject for objects, strings and arrays.  The
 
75
    * readExternal method must read the values in the same sequence
 
76
    * and with the same types as were written by writeExternal.
 
77
    *
 
78
    * @param in the stream to read data from in order to restore the object
 
79
    * @throws java.io.IOException    if I/O errors occur
 
80
    * @throws ClassNotFoundException If the class for an object being
 
81
    *                                restored cannot be found.
 
82
    */
 
83
   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
 
84
   {
 
85
      //System.out.println("read new version");
 
86
      callNumber = in.readInt();
 
87
      int size = in.readInt();
 
88
      byte[] bytes = new byte[size];
 
89
 
 
90
      int n = 0;
 
91
      while (n < size)
 
92
      {
 
93
         n += in.read(bytes, n, size - n);
 
94
      }
 
95
      this.payload = bytes;
 
96
   }
 
97
 
 
98
   /**
 
99
    * The object implements the writeExternal method to save its contents
 
100
    * by calling the methods of DataOutput for its primitive values or
 
101
    * calling the writeObject method of ObjectOutput for objects, strings,
 
102
    * and arrays.
 
103
    *
 
104
    * @param out the stream to write the object to
 
105
    * @throws java.io.IOException Includes any I/O exceptions that may occur
 
106
    * @serialData Overriding methods should use this tag to describe
 
107
    * the data layout of this Externalizable object.
 
108
    * List the sequence of element types and, if possible,
 
109
    * relate the element to a public/protected field and/or
 
110
    * method of this Externalizable class.
 
111
    */
 
112
   public void writeExternal(ObjectOutput out) throws IOException
 
113
   {
 
114
      //System.out.println("write new version");
 
115
      out.writeInt(callNumber);
 
116
      byte[] bytes = (byte[]) payload;
 
117
      out.writeInt(bytes.length);
 
118
      out.write(bytes, 0, bytes.length);
 
119
   }
 
120
}
 
 
b'\\ No newline at end of file'