From 0e2e684b265881301ff33a1cf4ea78663683671a Mon Sep 17 00:00:00 2001 From: Titouan Rigoudy Date: Sat, 18 May 2019 20:10:24 +0000 Subject: [PATCH] Use doc comments in codec.rs some more. --- src/proto/codec.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/proto/codec.rs b/src/proto/codec.rs index ffb2654..50571b3 100644 --- a/src/proto/codec.rs +++ b/src/proto/codec.rs @@ -1,3 +1,14 @@ +//! This module provides tokio Codec implementations for protocol messages. +//! +//! Specifically, the following types: +//! +//! * proto::peer::Message +//! * proto::server::ServerRequest +//! * proto::server::ServerResponse +//! +//! This enables wrapping AsyncRead and AsyncWrite objects into Stream and Sink +//! objects using tokio_codec's FramedRead and FramedWrite adapters. + use std::io; use std::marker; @@ -8,11 +19,7 @@ use super::base_codec::{ProtoDecode, ProtoDecoder, ProtoEncode, ProtoEncoder, U3 use super::peer::Message; use super::server::{ServerRequest, ServerResponse}; -/*===================================* - * TOKIO CODEC TRAIT IMPLEMENTATIONS * - *===================================*/ - -// Encodes types that implement ProtoEncode with a length prefix. +/// Implements tokio's Encoder trait for types that implement ProtoEncode. pub struct LengthPrefixedEncoder { phantom: marker::PhantomData, } @@ -46,7 +53,7 @@ impl tokio_codec::Encoder for LengthPrefixedEncoder { } } -// Decodes length-prefixed values from byte buffers. +/// Implements tokio's Decoder trait for types that implement ProtoDecode. pub struct LengthPrefixedDecoder { // The length, as a number of bytes, of the next item to decode. // None if we have not read the length prefix yet.