SubDescType

Trait SubDescType 

Source
pub trait SubDescType:
    Sized
    + Sync
    + Send
    + Default {
    // Required methods
    fn is_none(&self) -> bool;
    fn inner_raw_measure(
        &self,
        purpose: &Option<RawEncodePurpose>,
    ) -> Result<usize, BuckyError>;
    fn inner_raw_encode<'a>(
        &self,
        buf: &'a mut [u8],
        purpose: &Option<RawEncodePurpose>,
    ) -> Result<&'a mut [u8], BuckyError>;
    fn inner_raw_decode<'de>(
        buf: &'de [u8],
    ) -> Result<(Self, &'de [u8]), BuckyError>;

    // Provided methods
    fn is_support() -> bool { ... }
    fn is_some(&self) -> bool { ... }
}
Expand description

§子Desc类型系统

  • SubDescType: Sized + Sync + Send
  • OwnerObj: SubDescType+Clone
  • AreaObj: SubDescType+Clone
  • AuthorObj: SubDescType+Clone
  • PublicKeyObj: SubDescType+Clone

Required Methods§

Source

fn is_none(&self) -> bool

Source

fn inner_raw_measure( &self, purpose: &Option<RawEncodePurpose>, ) -> Result<usize, BuckyError>

Source

fn inner_raw_encode<'a>( &self, buf: &'a mut [u8], purpose: &Option<RawEncodePurpose>, ) -> Result<&'a mut [u8], BuckyError>

Source

fn inner_raw_decode<'de>( buf: &'de [u8], ) -> Result<(Self, &'de [u8]), BuckyError>

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SubDescType for Option<Area>

§Option

Option 用于AreaObjectDesc

Source§

fn is_none(&self) -> bool

Source§

fn inner_raw_measure( &self, purpose: &Option<RawEncodePurpose>, ) -> Result<usize, BuckyError>

Source§

fn inner_raw_encode<'a>( &self, buf: &'a mut [u8], purpose: &Option<RawEncodePurpose>, ) -> Result<&'a mut [u8], BuckyError>

Source§

fn inner_raw_decode<'de>( buf: &'de [u8], ) -> Result<(Self, &'de [u8]), BuckyError>

Source§

impl SubDescType for Option<ObjectId>

§Option

Option 用于OwnerObjectDesc或者AuthorObjectDesc

Source§

fn is_none(&self) -> bool

Source§

fn inner_raw_measure( &self, purpose: &Option<RawEncodePurpose>, ) -> Result<usize, BuckyError>

Source§

fn inner_raw_encode<'a>( &self, buf: &'a mut [u8], purpose: &Option<RawEncodePurpose>, ) -> Result<&'a mut [u8], BuckyError>

Source§

fn inner_raw_decode<'de>( buf: &'de [u8], ) -> Result<(Self, &'de [u8]), BuckyError>

Implementors§

Source§

impl SubDescType for PublicKey

§PublicKey

用于SingleKeyObjectDesc

Source§

impl SubDescType for SubDescNone

Source§

impl SubDescType for MNPublicKey

§MNPublicKey

用于MNKeyObjectDesc、