1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.netty.handler.codec.http2;
18
19 import io.netty.util.internal.StringUtil;
20 import io.netty.util.internal.UnstableApi;
21
22
23
24
25 @UnstableApi
26 public class DefaultHttp2PingFrame implements Http2PingFrame {
27
28 private final long content;
29 private final boolean ack;
30
31 public DefaultHttp2PingFrame(long content) {
32 this(content, false);
33 }
34
35
36
37
38 DefaultHttp2PingFrame(long content, boolean ack) {
39 this.content = content;
40 this.ack = ack;
41 }
42
43 @Override
44 public boolean ack() {
45 return ack;
46 }
47
48 @Override
49 public String name() {
50 return "PING";
51 }
52
53 @Override
54 public long content() {
55 return content;
56 }
57
58 @Override
59 public boolean equals(Object o) {
60 if (!(o instanceof Http2PingFrame)) {
61 return false;
62 }
63 Http2PingFrame other = (Http2PingFrame) o;
64 return ack == other.ack() && content == other.content();
65 }
66
67 @Override
68 public int hashCode() {
69 int hash = super.hashCode();
70 hash = hash * 31 + (ack ? 1 : 0);
71 return hash;
72 }
73
74 @Override
75 public String toString() {
76 return StringUtil.simpleClassName(this) + "(content=" + content + ", ack=" + ack + ')';
77 }
78 }