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 public DefaultHttp2PingFrame(long content, boolean ack) {
36 this.content = content;
37 this.ack = ack;
38 }
39
40 @Override
41 public boolean ack() {
42 return ack;
43 }
44
45 @Override
46 public String name() {
47 return "PING";
48 }
49
50 @Override
51 public long content() {
52 return content;
53 }
54
55 @Override
56 public boolean equals(Object o) {
57 if (!(o instanceof Http2PingFrame)) {
58 return false;
59 }
60 Http2PingFrame other = (Http2PingFrame) o;
61 return ack == other.ack() && content == other.content();
62 }
63
64 @Override
65 public int hashCode() {
66 int hash = super.hashCode();
67 hash = hash * 31 + (ack ? 1 : 0);
68 return hash;
69 }
70
71 @Override
72 public String toString() {
73 return StringUtil.simpleClassName(this) + "(content=" + content + ", ack=" + ack + ')';
74 }
75 }