pub trait RawEncodeWithContext<Context> {
    // Required methods
    fn raw_measure_with_context(
        &self,
        _: &mut Context,
        purpose: &Option<RawEncodePurpose>
    ) -> BuckyResult<usize>;
    fn raw_encode_with_context<'a>(
        &self,
        buf: &'a mut [u8],
        _: &mut Context,
        purpose: &Option<RawEncodePurpose>
    ) -> BuckyResult<&'a mut [u8]>;

    // Provided method
    fn raw_tail_encode_with_context<'a>(
        &self,
        buf: &'a mut [u8],
        context: &mut Context,
        purpose: &Option<RawEncodePurpose>
    ) -> BuckyResult<&'a [u8]> { ... }
}

Required Methods§

Provided Methods§

source

fn raw_tail_encode_with_context<'a>( &self, buf: &'a mut [u8], context: &mut Context, purpose: &Option<RawEncodePurpose> ) -> BuckyResult<&'a [u8]>

Implementors§

source§

impl RawEncodeWithContext<NamedObjectContext> for ObjectSigns

source§

impl RawEncodeWithContext<NamedObjectContext> for TypelessObjectDesc

TypelessObjectDesc 编码

  • [1] ctx 部分来自NamedObject里的ctx
  • [2] 其余部分为desc本身的编码
source§

impl<'de, B, O> RawEncodeWithContext<NamedObjectBodyContext> for ObjectMutBody<B, O>where B: RawEncode + BodyContent, O: ObjectType,

source§

impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where O: ObjectType, O::DescType: RawEncodeWithContext<NamedObjectContext>, O::ContentType: RawEncode + BodyContent,

source§

impl<T> RawEncodeWithContext<NamedObjectContext> for NamedObjectDesc<T>where T: DescContent + RawEncode,

NamedObjectDesc 的 编码

  • ctx: NamedObjectContext 从上层 NamedObjectBase 里传入编码的上下文
  • 通过 ctx 压缩Option字段的编码