ResPing.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
/*
* Decompiled with CFR 0_118.
*/
package com.scene7.is.ipp.messages;
import com.scene7.is.ipp.messages.InMessage;
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.IppInt64;
import com.scene7.is.ipp.messages.Offset;
import java.io.IOException;
import java.io.Writer;
public class ResPing
extends InMessage {
static int MessageNumber = 2163461;
private long clientTimestamp_;
private long serverTimestamp_;
private byte[] fill_;
public ResPing(int tag, long clientTimestamp, long serverTimestamp, byte[] fill, int headClientId) {
this.tag_ = tag;
this.headerClientId_ = headClientId;
this.clientTimestamp_ = clientTimestamp;
this.serverTimestamp_ = serverTimestamp;
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.clientTimestamp_);
IppInt64.Stuff(this.bodyBuffer_, pos, null, this.serverTimestamp_);
IppByteArray.Stuff(this.bodyBuffer_, pos, varPos, this.fill_);
Ipp.Assert(pos.val == fixedLength, "IppWatermarkType length");
}
public ResPing() {
}
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.clientTimestamp_ = IppInt64.Unstuff(this.bodyBuffer_, pos);
this.serverTimestamp_ = IppInt64.Unstuff(this.bodyBuffer_, pos);
this.fill_ = IppByteArray.Unstuff(this.bodyBuffer_, pos);
}
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(": ResPing ");
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, "clientTimestamp: ", this.clientTimestamp_);
IppDate.Print(tf, "serverTimestamp: ", this.serverTimestamp_);
IppByteArray.Print(tf, "fill: ", this.fill_);
}
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("ResPing ");
buffer.append("[clientTimestamp: " + String.valueOf(this.clientTimestamp_) + "],");
buffer.append("[serverTimestamp: " + String.valueOf(this.serverTimestamp_) + "],");
buffer.append("[fill: " + String.valueOf(this.fill_) + "],");
return buffer.toString();
}
public long clientTimestamp() {
return this.clientTimestamp_;
}
public long serverTimestamp() {
return this.serverTimestamp_;
}
public byte[] fill() {
return this.fill_;
}
}