@@ -232,7 +232,7 @@ impl StoredRecord {
232232 }
233233 }
234234
235- fn encode_body_size ( & self ) -> usize {
235+ fn encoded_body_size ( & self ) -> usize {
236236 match self {
237237 Self :: Plaintext ( Record :: Command ( record) ) => record. encoded_size ( ) ,
238238 Self :: Plaintext ( Record :: Envelope ( record) ) => record. encoded_size ( ) ,
@@ -318,7 +318,7 @@ pub trait Encodable {
318318
319319impl Encodable for Metered < & StoredRecord > {
320320 fn encoded_size ( & self ) -> usize {
321- 1 + self . magic_byte ( ) . metered_size_varlen as usize + self . inner . encode_body_size ( )
321+ 1 + self . magic_byte ( ) . metered_size_varlen as usize + self . encoded_body_size ( )
322322 }
323323
324324 fn encode_into ( & self , buf : & mut impl BufMut ) {
@@ -328,7 +328,7 @@ impl Encodable for Metered<&StoredRecord> {
328328 self . metered_size ( ) as u64 ,
329329 magic_byte. metered_size_varlen as usize ,
330330 ) ;
331- self . inner . encode_body_into ( buf) ;
331+ self . encode_body_into ( buf) ;
332332 }
333333}
334334
@@ -391,7 +391,10 @@ where
391391 T : MeteredSize ,
392392{
393393 pub fn sequenced ( self , position : StreamPosition ) -> Metered < Sequenced < T > > {
394- Metered :: with_size ( self . size , Sequenced :: new ( position, self . inner ) )
394+ Metered :: with_size (
395+ self . metered_size ( ) ,
396+ Sequenced :: new ( position, self . into_inner ( ) ) ,
397+ )
395398 }
396399}
397400
@@ -403,7 +406,7 @@ impl Metered<&StoredRecord> {
403406 panic ! ( "illegal metered size varlen {metered_size} for record" )
404407 }
405408 MagicByte {
406- record_type : self . inner . record_type ( ) ,
409+ record_type : self . record_type ( ) ,
407410 metered_size_varlen,
408411 }
409412 }
@@ -456,7 +459,7 @@ impl TryFrom<Bytes> for Metered<Record> {
456459
457460 fn try_from ( buf : Bytes ) -> Result < Self , Self :: Error > {
458461 let stored: Metered < StoredRecord > = buf. try_into ( ) ?;
459- let size = stored. size ;
462+ let size = stored. metered_size ( ) ;
460463 match stored. into_inner ( ) {
461464 StoredRecord :: Plaintext ( record) => Ok ( record) ,
462465 StoredRecord :: Encrypted { .. } => Err ( InternalRecordError :: InvalidValue (
@@ -470,13 +473,14 @@ impl TryFrom<Bytes> for Metered<Record> {
470473
471474impl < T > Metered < Sequenced < T > > {
472475 pub fn parts ( & self ) -> ( StreamPosition , Metered < & T > ) {
473- let ( position, inner) = self . inner . parts ( ) ;
474- ( position, Metered :: with_size ( self . size , inner) )
476+ let size = self . metered_size ( ) ;
477+ let ( position, inner) = self . as_ref ( ) . into_inner ( ) . parts ( ) ;
478+ ( position, Metered :: with_size ( size, inner) )
475479 }
476480
477481 pub fn into_parts ( self ) -> ( StreamPosition , Metered < T > ) {
478- let size = self . size ;
479- let ( position, inner) = self . inner . into_parts ( ) ;
482+ let size = self . metered_size ( ) ;
483+ let ( position, inner) = self . into_inner ( ) . into_parts ( ) ;
480484 ( position, Metered :: with_size ( size, inner) )
481485 }
482486}
0 commit comments