This project has retired. For details please refer to its Attic page.
ByteArrayWithSenderTaskIdRequest xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.apache.giraph.comm.requests;
20  
21  import java.io.DataInput;
22  import java.io.DataOutput;
23  import java.io.IOException;
24  
25  /**
26   * Abstract request which has a byte array and task id of the sender as its
27   * data
28   */
29  public abstract class ByteArrayWithSenderTaskIdRequest
30      extends ByteArrayRequest {
31    /** Task id of the sender of request */
32    private int senderTaskId;
33  
34    /**
35     * Constructor
36     *
37     * @param data Request data
38     * @param senderTaskId Sender task id
39     */
40    public ByteArrayWithSenderTaskIdRequest(byte[] data, int senderTaskId) {
41      super(data);
42      this.senderTaskId = senderTaskId;
43    }
44  
45    /**
46     * Default constructor
47     */
48    public ByteArrayWithSenderTaskIdRequest() {
49    }
50  
51    public int getSenderTaskId() {
52      return senderTaskId;
53    }
54  
55    @Override
56    void writeRequest(DataOutput output) throws IOException {
57      super.writeRequest(output);
58      output.writeInt(senderTaskId);
59    }
60  
61    @Override
62    void readFieldsRequest(DataInput input) throws IOException {
63      super.readFieldsRequest(input);
64      senderTaskId = input.readInt();
65    }
66  
67    @Override
68    public int getSerializedSize() {
69      return super.getSerializedSize() + 4;
70    }
71  }