aws_multipart_upload/encoder/
framed_encoder.rs1use tokio_util::codec::Encoder;
2
3use super::{EncodeError, PartEncoder};
4use crate::request::{PartBody, PartNumber};
5
6#[derive(Debug, Clone, Copy, Default)]
10pub struct FramedEncoder<E> {
11 encoder: E,
12}
13
14impl<E> FramedEncoder<E> {
15 pub fn new(encoder: E) -> FramedEncoder<E> {
17 Self { encoder }
18 }
19}
20
21impl<E, Item> PartEncoder<Item> for FramedEncoder<E>
22where
23 E: Encoder<Item>,
24 E::Error: EncodeError,
25{
26 type Error = E::Error;
27
28 fn encode(
29 &mut self,
30 part: &mut PartBody,
31 _part_number: PartNumber,
32 item: Item,
33 ) -> Result<(), Self::Error> {
34 self.encoder.encode(item, part)
35 }
36}