@@ -129,17 +129,26 @@ object RLPCodecs {
129
129
}
130
130
)
131
131
132
+ private object PacketType {
133
+ val Ping : Byte = 0x01
134
+ val Pong : Byte = 0x02
135
+ val FindNode : Byte = 0x03
136
+ val Neighbors : Byte = 0x04
137
+ val ENRRequest : Byte = 0x05
138
+ val ENRResponse : Byte = 0x06
139
+ }
140
+
132
141
implicit def payloadCodec : Codec [Payload ] =
133
142
Codec [Payload ](
134
143
(payload : Payload ) => {
135
144
val (packetType, packetData) =
136
145
payload match {
137
- case x : Payload .Ping => 0x01 -> rlp.encode(x)
138
- case x : Payload .Pong => 0x02 -> rlp.encode(x)
139
- case x : Payload .FindNode => 0x03 -> rlp.encode(x)
140
- case x : Payload .Neighbors => 0x04 -> rlp.encode(x)
141
- case x : Payload .ENRRequest => 0x05 -> rlp.encode(x)
142
- case x : Payload .ENRResponse => 0x06 -> rlp.encode(x)
146
+ case x : Payload .Ping => PacketType . Ping -> rlp.encode(x)
147
+ case x : Payload .Pong => PacketType . Pong -> rlp.encode(x)
148
+ case x : Payload .FindNode => PacketType . FindNode -> rlp.encode(x)
149
+ case x : Payload .Neighbors => PacketType . Neighbors -> rlp.encode(x)
150
+ case x : Payload .ENRRequest => PacketType . ENRRequest -> rlp.encode(x)
151
+ case x : Payload .ENRResponse => PacketType . ENRResponse -> rlp.encode(x)
143
152
}
144
153
145
154
Attempt .successful(BitVector (packetType.toByte +: packetData))
@@ -153,12 +162,12 @@ object RLPCodecs {
153
162
154
163
val tryPayload : Try [Payload ] = Try {
155
164
packetType match {
156
- case 0x01 => rlp.decode[Payload .Ping ](packetData)
157
- case 0x02 => rlp.decode[Payload .Pong ](packetData)
158
- case 0x03 => rlp.decode[Payload .FindNode ](packetData)
159
- case 0x04 => rlp.decode[Payload .Neighbors ](packetData)
160
- case 0x05 => rlp.decode[Payload .ENRRequest ](packetData)
161
- case 0x06 => rlp.decode[Payload .ENRResponse ](packetData)
165
+ case PacketType . Ping => rlp.decode[Payload .Ping ](packetData)
166
+ case PacketType . Pong => rlp.decode[Payload .Pong ](packetData)
167
+ case PacketType . FindNode => rlp.decode[Payload .FindNode ](packetData)
168
+ case PacketType . Neighbors => rlp.decode[Payload .Neighbors ](packetData)
169
+ case PacketType . ENRRequest => rlp.decode[Payload .ENRRequest ](packetData)
170
+ case PacketType . ENRResponse => rlp.decode[Payload .ENRResponse ](packetData)
162
171
case other => throw new RuntimeException (s " Unknown packet type: ${other}" )
163
172
}
164
173
}
0 commit comments