1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package io.netty.handler.codec.spdy;
17
18 import io.netty.util.internal.StringUtil;
19
20
21
22
23 public class DefaultSpdyGoAwayFrame implements SpdyGoAwayFrame {
24
25 private int lastGoodStreamId;
26 private SpdySessionStatus status;
27
28
29
30
31
32
33 public DefaultSpdyGoAwayFrame(int lastGoodStreamId) {
34 this(lastGoodStreamId, 0);
35 }
36
37
38
39
40
41
42
43 public DefaultSpdyGoAwayFrame(int lastGoodStreamId, int statusCode) {
44 this(lastGoodStreamId, SpdySessionStatus.valueOf(statusCode));
45 }
46
47
48
49
50
51
52
53 public DefaultSpdyGoAwayFrame(int lastGoodStreamId, SpdySessionStatus status) {
54 setLastGoodStreamId(lastGoodStreamId);
55 setStatus(status);
56 }
57
58 @Override
59 public int lastGoodStreamId() {
60 return lastGoodStreamId;
61 }
62
63 @Override
64 public SpdyGoAwayFrame setLastGoodStreamId(int lastGoodStreamId) {
65 if (lastGoodStreamId < 0) {
66 throw new IllegalArgumentException("Last-good-stream-ID"
67 + " cannot be negative: " + lastGoodStreamId);
68 }
69 this.lastGoodStreamId = lastGoodStreamId;
70 return this;
71 }
72
73 @Override
74 public SpdySessionStatus status() {
75 return status;
76 }
77
78 @Override
79 public SpdyGoAwayFrame setStatus(SpdySessionStatus status) {
80 this.status = status;
81 return this;
82 }
83
84 @Override
85 public String toString() {
86 return new StringBuilder()
87 .append(StringUtil.simpleClassName(this))
88 .append(StringUtil.NEWLINE)
89 .append("--> Last-good-stream-ID = ")
90 .append(lastGoodStreamId())
91 .append(StringUtil.NEWLINE)
92 .append("--> Status: ")
93 .append(status())
94 .toString();
95 }
96 }