ReqPing.java
3.54 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
* Decompiled with CFR 0_118.
*/
package com.scene7.is.ipp.messages;
import com.scene7.is.ipp.messages.Ipp;
import com.scene7.is.ipp.messages.IppByteArray;
import com.scene7.is.ipp.messages.IppDate;
import com.scene7.is.ipp.messages.IppInt;
import com.scene7.is.ipp.messages.IppInt64;
import com.scene7.is.ipp.messages.Offset;
import com.scene7.is.ipp.messages.OutMessage;
import java.io.IOException;
import java.io.Writer;
public class ReqPing
extends OutMessage {
static int MessageNumber = 2163205;
private long timestamp_;
private int bytesInReply_;
private byte[] fill_;
public ReqPing(int tag, long timestamp, int bytesInReply, byte[] fill, int headClientId) {
this.tag_ = tag;
this.headerClientId_ = headClientId;
this.timestamp_ = timestamp;
this.bytesInReply_ = bytesInReply;
this.fill_ = fill;
int fixedLength = 24;
Offset varPos = new Offset(fixedLength);
varPos.val += fill.length;
this.messageLength_ = varPos.val;
varPos.val = fixedLength;
Offset pos = new Offset(0);
this.headBuffer_ = new byte[32];
this.bodyBuffer_ = new byte[this.messageLength_];
Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, tag, MessageNumber, this.messageLength_);
IppInt64.Stuff(this.bodyBuffer_, pos, null, this.timestamp_);
IppInt.Stuff(this.bodyBuffer_, pos, null, this.bytesInReply_);
IppByteArray.Stuff(this.bodyBuffer_, pos, varPos, this.fill_);
Ipp.StuffNullBytes(this.bodyBuffer_, pos, 4);
Ipp.Assert(pos.val == fixedLength, "IppWatermarkType length");
}
public ReqPing() {
}
public void process(int headClientId, int tg, byte[] bf) {
this.headerClientId_ = headClientId;
this.tag_ = tg;
this.messageLength_ = bf.length;
this.headBuffer_ = new byte[32];
Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, this.tag_, MessageNumber, this.messageLength_);
this.bodyBuffer_ = bf;
Offset pos = new Offset(0);
this.timestamp_ = IppInt64.Unstuff(this.bodyBuffer_, pos);
this.bytesInReply_ = IppInt.Unstuff(this.bodyBuffer_, pos);
this.fill_ = IppByteArray.Unstuff(this.bodyBuffer_, pos);
pos.val += 4;
}
public int classification() {
return 1;
}
public int id() {
return MessageNumber;
}
public void print(Writer tf, String heading) throws IOException {
tf.write("\n");
tf.write(heading);
tf.write(": ReqPing ");
Ipp.PrintHex(tf, MessageNumber);
tf.write("\n");
tf.write("headClientId: " + this.headerClientId() + "\n");
Ipp.PrintTag(tf, "tag: ", this.tag());
tf.write("length: " + this.length());
tf.write("\n");
IppDate.Print(tf, "timestamp: ", this.timestamp_);
IppInt.Print(tf, "bytesInReply: ", this.bytesInReply_);
IppByteArray.Print(tf, "fill: ", this.fill_);
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("ReqPing ");
buffer.append("[timestamp: " + String.valueOf(this.timestamp_) + "],");
buffer.append("[bytesInReply: " + String.valueOf(this.bytesInReply_) + "],");
buffer.append("[fill: " + String.valueOf(this.fill_) + "],");
return buffer.toString();
}
public long timestamp() {
return this.timestamp_;
}
public int bytesInReply() {
return this.bytesInReply_;
}
public byte[] fill() {
return this.fill_;
}
}