mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-11 18:04:18 +00:00
Remove generic E from RequestId (#6462)
* remove Ethspec from types where it's possible to do so * remove generic E from RequestType
This commit is contained in:
@@ -28,7 +28,7 @@ const CONTEXT_BYTES_LEN: usize = 4;
|
||||
|
||||
/* Inbound Codec */
|
||||
|
||||
pub struct SSZSnappyInboundCodec<E: EthSpec> {
|
||||
pub struct SSZSnappyInboundCodec<E> {
|
||||
protocol: ProtocolId,
|
||||
inner: Uvi<usize>,
|
||||
len: Option<usize>,
|
||||
@@ -142,7 +142,7 @@ impl<E: EthSpec> Encoder<RpcResponse<E>> for SSZSnappyInboundCodec<E> {
|
||||
|
||||
// Decoder for inbound streams: Decodes RPC requests from peers
|
||||
impl<E: EthSpec> Decoder for SSZSnappyInboundCodec<E> {
|
||||
type Item = RequestType<E>;
|
||||
type Item = RequestType;
|
||||
type Error = RPCError;
|
||||
|
||||
fn decode(&mut self, src: &mut BytesMut) -> Result<Option<Self::Item>, Self::Error> {
|
||||
@@ -194,7 +194,7 @@ impl<E: EthSpec> Decoder for SSZSnappyInboundCodec<E> {
|
||||
}
|
||||
|
||||
/* Outbound Codec: Codec for initiating RPC requests */
|
||||
pub struct SSZSnappyOutboundCodec<E: EthSpec> {
|
||||
pub struct SSZSnappyOutboundCodec<E> {
|
||||
inner: Uvi<usize>,
|
||||
len: Option<usize>,
|
||||
protocol: ProtocolId,
|
||||
@@ -321,10 +321,10 @@ impl<E: EthSpec> SSZSnappyOutboundCodec<E> {
|
||||
}
|
||||
|
||||
// Encoder for outbound streams: Encodes RPC Requests to peers
|
||||
impl<E: EthSpec> Encoder<RequestType<E>> for SSZSnappyOutboundCodec<E> {
|
||||
impl<E: EthSpec> Encoder<RequestType> for SSZSnappyOutboundCodec<E> {
|
||||
type Error = RPCError;
|
||||
|
||||
fn encode(&mut self, item: RequestType<E>, dst: &mut BytesMut) -> Result<(), Self::Error> {
|
||||
fn encode(&mut self, item: RequestType, dst: &mut BytesMut) -> Result<(), Self::Error> {
|
||||
let bytes = match item {
|
||||
RequestType::Status(req) => req.as_ssz_bytes(),
|
||||
RequestType::Goodbye(req) => req.as_ssz_bytes(),
|
||||
@@ -543,11 +543,11 @@ fn handle_length(
|
||||
/// Decodes an `InboundRequest` from the byte stream.
|
||||
/// `decoded_buffer` should be an ssz-encoded bytestream with
|
||||
// length = length-prefix received in the beginning of the stream.
|
||||
fn handle_rpc_request<E: EthSpec>(
|
||||
fn handle_rpc_request(
|
||||
versioned_protocol: SupportedProtocol,
|
||||
decoded_buffer: &[u8],
|
||||
spec: &ChainSpec,
|
||||
) -> Result<Option<RequestType<E>>, RPCError> {
|
||||
) -> Result<Option<RequestType>, RPCError> {
|
||||
match versioned_protocol {
|
||||
SupportedProtocol::StatusV1 => Ok(Some(RequestType::Status(
|
||||
StatusMessage::from_ssz_bytes(decoded_buffer)?,
|
||||
@@ -1009,6 +1009,7 @@ mod tests {
|
||||
BlobsByRangeRequest {
|
||||
start_slot: 0,
|
||||
count: 10,
|
||||
max_blobs_per_block: Spec::max_blobs_per_block(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1154,7 +1155,7 @@ mod tests {
|
||||
}
|
||||
|
||||
/// Verifies that requests we send are encoded in a way that we would correctly decode too.
|
||||
fn encode_then_decode_request(req: RequestType<Spec>, fork_name: ForkName, spec: &ChainSpec) {
|
||||
fn encode_then_decode_request(req: RequestType, fork_name: ForkName, spec: &ChainSpec) {
|
||||
let fork_context = Arc::new(fork_context(fork_name));
|
||||
let max_packet_size = max_rpc_size(&fork_context, spec.max_chunk_size as usize);
|
||||
let protocol = ProtocolId::new(req.versioned_protocol(), Encoding::SSZSnappy);
|
||||
@@ -1745,7 +1746,7 @@ mod tests {
|
||||
fn test_encode_then_decode_request() {
|
||||
let chain_spec = Spec::default_spec();
|
||||
|
||||
let requests: &[RequestType<Spec>] = &[
|
||||
let requests: &[RequestType] = &[
|
||||
RequestType::Ping(ping_message()),
|
||||
RequestType::Status(status_message()),
|
||||
RequestType::Goodbye(GoodbyeReason::Fault),
|
||||
|
||||
Reference in New Issue
Block a user