1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.jboss.netty.handler.codec.spdy;
17
18 import org.jboss.netty.buffer.ChannelBuffer;
19 import org.jboss.netty.buffer.ChannelBuffers;
20 import org.jboss.netty.util.internal.StringUtil;
21
22
23
24
25 public class DefaultSpdyDataFrame implements SpdyDataFrame {
26
27 private int streamId;
28 private boolean last;
29 private boolean compressed;
30 private ChannelBuffer data = ChannelBuffers.EMPTY_BUFFER;
31
32
33
34
35
36
37 public DefaultSpdyDataFrame(int streamId) {
38 setStreamId(streamId);
39 }
40
41 @Deprecated
42 public int getStreamID() {
43 return getStreamId();
44 }
45
46 public int getStreamId() {
47 return streamId;
48 }
49
50 @Deprecated
51 public void setStreamID(int streamId) {
52 setStreamId(streamId);
53 }
54
55 public void setStreamId(int streamId) {
56 if (streamId <= 0) {
57 throw new IllegalArgumentException(
58 "Stream-ID must be positive: " + streamId);
59 }
60 this.streamId = streamId;
61 }
62
63 public boolean isLast() {
64 return last;
65 }
66
67 public void setLast(boolean last) {
68 this.last = last;
69 }
70
71 @Deprecated
72 public boolean isCompressed() {
73 return compressed;
74 }
75
76 @Deprecated
77 public void setCompressed(boolean compressed) {
78 this.compressed = compressed;
79 }
80
81 public ChannelBuffer getData() {
82 return data;
83 }
84
85 public void setData(ChannelBuffer data) {
86 if (data == null) {
87 data = ChannelBuffers.EMPTY_BUFFER;
88 }
89 if (data.readableBytes() > SpdyCodecUtil.SPDY_MAX_LENGTH) {
90 throw new IllegalArgumentException("data payload cannot exceed "
91 + SpdyCodecUtil.SPDY_MAX_LENGTH + " bytes");
92 }
93 this.data = data;
94 }
95
96 @Override
97 public String toString() {
98 StringBuilder buf = new StringBuilder();
99 buf.append(getClass().getSimpleName());
100 buf.append("(last: ");
101 buf.append(isLast());
102 buf.append("; compressed: ");
103 buf.append(isCompressed());
104 buf.append(')');
105 buf.append(StringUtil.NEWLINE);
106 buf.append("--> Stream-ID = ");
107 buf.append(streamId);
108 buf.append(StringUtil.NEWLINE);
109 buf.append("--> Size = ");
110 buf.append(data.readableBytes());
111 return buf.toString();
112 }
113 }