1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package openr66.protocol.localhandler.packet;
22
23 import openr66.protocol.exception.OpenR66ProtocolPacketException;
24
25 import org.jboss.netty.buffer.ChannelBuffer;
26 import org.jboss.netty.buffer.ChannelBuffers;
27
28
29
30
31
32
33
34
35 public class ConnectionErrorPacket extends AbstractLocalPacket {
36
37 private final String sheader;
38
39 private final String smiddle;
40
41
42
43
44
45
46
47
48
49 public static ConnectionErrorPacket createFromBuffer(int headerLength,
50 int middleLength, int endLength, ChannelBuffer buf)
51 throws OpenR66ProtocolPacketException {
52 final byte[] bheader = new byte[headerLength - 1];
53 final byte[] bmiddle = new byte[middleLength];
54 if (headerLength - 1 > 0) {
55 buf.readBytes(bheader);
56 }
57 if (middleLength > 0) {
58 buf.readBytes(bmiddle);
59 }
60 return new ConnectionErrorPacket(new String(bheader), new String(
61 bmiddle));
62 }
63
64
65
66
67
68 public ConnectionErrorPacket(String header, String middle) {
69 sheader = header;
70 smiddle = middle;
71 }
72
73
74
75
76
77
78 @Override
79 public void createEnd() throws OpenR66ProtocolPacketException {
80 end = ChannelBuffers.EMPTY_BUFFER;
81 }
82
83
84
85
86
87
88
89 @Override
90 public void createHeader() throws OpenR66ProtocolPacketException {
91 if (sheader != null) {
92 header = ChannelBuffers.wrappedBuffer(sheader.getBytes());
93 }
94 }
95
96
97
98
99
100
101
102 @Override
103 public void createMiddle() throws OpenR66ProtocolPacketException {
104 if (smiddle != null) {
105 middle = ChannelBuffers.wrappedBuffer(smiddle.getBytes());
106 }
107 }
108
109
110
111
112
113
114 @Override
115 public String toString() {
116 return "ConnectionErrorPacket: " + sheader + ":" + smiddle;
117 }
118
119 @Override
120 public byte getType() {
121 return LocalPacketFactory.CONNECTERRORPACKET;
122 }
123
124
125
126
127 public String getSheader() {
128 return sheader;
129 }
130
131
132
133
134 public String getSmiddle() {
135 return smiddle;
136 }
137 }