Trait cyfs_base::RawEncodeWithContext
source · 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§
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 Methods§
fn raw_tail_encode_with_context<'a>( &self, buf: &'a mut [u8], context: &mut Context, purpose: &Option<RawEncodePurpose> ) -> BuckyResult<&'a [u8]>
Implementors§
impl RawEncodeWithContext<NamedObjectContext> for ObjectSigns
impl RawEncodeWithContext<NamedObjectContext> for TypelessObjectDesc
TypelessObjectDesc 编码
- [1] ctx 部分来自NamedObject里的ctx
- [2] 其余部分为desc本身的编码
impl<'de, B, O> RawEncodeWithContext<NamedObjectBodyContext> for ObjectMutBody<B, O>where B: RawEncode + BodyContent, O: ObjectType,
impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where O: ObjectType, O::DescType: RawEncodeWithContext<NamedObjectContext>, O::ContentType: RawEncode + BodyContent,
impl<T> RawEncodeWithContext<NamedObjectContext> for NamedObjectDesc<T>where T: DescContent + RawEncode,
NamedObjectDesc 的 编码
- ctx: NamedObjectContext 从上层 NamedObjectBase 里传入编码的上下文
- 通过 ctx 压缩Option字段的编码