RawEncode

Trait RawEncode 

Source
pub trait RawEncode {
    // Required methods
    fn raw_measure(
        &self,
        purpose: &Option<RawEncodePurpose>,
    ) -> BuckyResult<usize>;
    fn raw_encode<'a>(
        &self,
        buf: &'a mut [u8],
        purpose: &Option<RawEncodePurpose>,
    ) -> BuckyResult<&'a mut [u8]>;

    // Provided methods
    fn raw_tail_encode<'a>(
        &self,
        buf: &'a mut [u8],
        purpose: &Option<RawEncodePurpose>,
    ) -> BuckyResult<&'a [u8]> { ... }
    fn raw_encode_to_buffer(&self) -> BuckyResult<Vec<u8>> { ... }
    fn raw_hash_value(&self) -> BuckyResult<HashValue> { ... }
    fn hash_buf(&self, encoded_buf: &[u8]) -> HashValue { ... }
    fn raw_hash_encode(&self) -> BuckyResult<Vec<u8>> { ... }
}

Required Methods§

Source

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source

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

Provided Methods§

Source

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

Source

fn raw_encode_to_buffer(&self) -> BuckyResult<Vec<u8>>

Source

fn raw_hash_value(&self) -> BuckyResult<HashValue>

Source

fn hash_buf(&self, encoded_buf: &[u8]) -> HashValue

Source

fn raw_hash_encode(&self) -> BuckyResult<Vec<u8>>

Implementations on Foreign Types§

Source§

impl RawEncode for &str

Source§

fn raw_encode<'a>( &self, _buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

impl RawEncode for bool

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for i32

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for i64

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for str

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl RawEncode for u8

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for u16

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for u32

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for u64

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for u128

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

fn raw_encode<'a>( &self, buf: &'a mut [u8], _purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>

Source§

impl RawEncode for String

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl RawEncode for AtomicI32

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl RawEncode for AtomicU32

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl RawEncode for H256

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<K: RawEncode + Ord + Hash, V: RawEncode> RawEncode for HashMap<K, V>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<K: RawEncode + Ord, V: RawEncode> RawEncode for BTreeMap<K, V>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T1: RawEncode, T2: RawEncode, T3: RawEncode> RawEncode for (T1, T2, T3)

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T1: RawEncode, T2: RawEncode, T3: RawEncode, T4: RawEncode> RawEncode for (T1, T2, T3, T4)

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T1: RawEncode, T2: RawEncode, T3: RawEncode, T4: RawEncode, T5: RawEncode> RawEncode for (T1, T2, T3, T4, T5)

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for Option<T>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for [T]

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for BTreeSet<T>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for Vec<T>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for Range<T>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode> RawEncode for HashSet<T>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode, E: RawEncode> RawEncode for Result<T, E>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode, U: ArrayLength<T>> RawEncode for GenericArray<T, U>

Source§

fn raw_measure(&self, _purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<T: RawEncode, U: RawEncode> RawEncode for (T, U)

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<V: RawEncode> RawEncode for Arc<V>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Source§

impl<V: RawEncode> RawEncode for Mutex<V>

Source§

fn raw_measure(&self, purpose: &Option<RawEncodePurpose>) -> BuckyResult<usize>

Source§

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

Implementors§

Source§

impl RawEncode for AnyNamedObject

Source§

impl RawEncode for BuckyErrorCode

Source§

impl RawEncode for BuckyOriginError

Source§

impl RawEncode for BuckySystemErrorCode

Source§

impl RawEncode for CoinTokenId

Source§

impl RawEncode for ContractTypeCode

Source§

impl RawEncode for DirBodyContent

Source§

impl RawEncode for InnerNode

Source§

impl RawEncode for IpAddr

Source§

impl RawEncode for NDNObjectInfo

Source§

impl RawEncode for NameState

Source§

impl RawEncode for OODWorkMode

Source§

impl RawEncode for ObjectMapContent

Source§

impl RawEncode for ObjectMapSimpleContentType

Source§

impl RawEncode for ObjectTypeCode

Source§

impl RawEncode for PrivateKey

Source§

impl RawEncode for ProofTypeCode

Source§

impl RawEncode for PublicKey

Source§

impl RawEncode for PublicKeyValue

Source§

impl RawEncode for ServiceAuthType

Source§

impl RawEncode for SimpleContent

Source§

impl RawEncode for StandardObject

Source§

impl RawEncode for TxCaller

Source§

impl RawEncode for TxCondition

Source§

impl RawEncode for ActionBodyContent

Source§

impl RawEncode for ActionDescContent

Source§

impl RawEncode for AesKey

Source§

impl RawEncode for AppGroupBodyContent

Source§

impl RawEncode for AppGroupDescContent

Source§

impl RawEncode for Area

Source§

impl RawEncode for Attributes

Source§

impl RawEncode for BuckyError

Source§

impl RawEncode for BuckySize

Source§

impl RawEncode for ChunkId

Source§

impl RawEncode for ChunkTransContract

Source§

impl RawEncode for ChunkTransReceipt

Source§

impl RawEncode for ContractBodyContent<ContractData>

Source§

impl RawEncode for ContractData

Source§

impl RawEncode for DSGReceipt

Source§

impl RawEncode for DeviceBodyContent

Source§

impl RawEncode for DeviceDescContent

Source§

impl RawEncode for DiffBodyContent

Source§

impl RawEncode for DiffDescContent

Source§

impl RawEncode for DirDescContent

Source§

impl RawEncode for ERC20

Source§

impl RawEncode for EmptyBodyContent

Source§

impl RawEncode for EmptyDescContent

Source§

impl RawEncode for EmptyProtobufBodyContent

Source§

impl RawEncode for Endpoint

Source§

impl RawEncode for FileBodyContent

Source§

impl RawEncode for FileDescContent

Source§

impl RawEncode for HashValue

Source§

impl RawEncode for InnerNodeInfo

Source§

impl RawEncode for KeyMixHash

Source§

impl RawEncode for NDNObjectList

Source§

impl RawEncode for NameInfo

Source§

impl RawEncode for NameRecord

Source§

impl RawEncode for NamedObjectContext

Source§

impl RawEncode for ObjectId

Source§

impl RawEncode for ObjectMapBodyContent

Source§

impl RawEncode for ObjectMapDescContent

Source§

impl RawEncode for ObjectMapDiffMapItem

Source§

impl RawEncode for ObjectMapDiffSetItem

Source§

impl RawEncode for ObjectMapHubContent

Source§

impl RawEncode for ObjectMapHubItem

Source§

impl RawEncode for ObjectMapSimpleContent

Source§

impl RawEncode for OrgBodyContent

Source§

impl RawEncode for OrgDescContent

Source§

impl RawEncode for PeopleBodyContent

Source§

impl RawEncode for PeopleDescContent

Source§

impl RawEncode for ProofData

Source§

impl RawEncode for ProofOfDSG

Source§

impl RawEncode for SNContract

Source§

impl RawEncode for SNContractBody

Source§

impl RawEncode for SNReceipt

Source§

impl RawEncode for ServiceContract

Source§

impl RawEncode for ServiceReceipt

Source§

impl RawEncode for Signature

Source§

impl RawEncode for SignedEndpoint

Source§

impl RawEncode for SimpleGroupBodyContent

Source§

impl RawEncode for SimpleGroupDescContent

Source§

impl RawEncode for SizeU8

Source§

impl RawEncode for SizeU16

Source§

impl RawEncode for SizeU32

Source§

impl RawEncode for TailedOwnedData

Source§

impl RawEncode for TailedSharedData<'_>

Source§

impl RawEncode for TrafficContract

Source§

impl RawEncode for TrafficReceipt

Source§

impl RawEncode for TxBody

Source§

impl RawEncode for TxBodyContent

Source§

impl RawEncode for TypelessObjectBodyContent

Source§

impl RawEncode for TypelessObjectDesc

§TypelessObjectDesc 用于计算ID用的编码

  • [1] ctx 部分包含obj_type, obj_flags 信息(前5bits为0,区别于NamedObject里的ctx.obj_flags)
  • [2] 其余部分为desc本身的编码
Source§

impl RawEncode for USize

Source§

impl RawEncode for UnionAccountBodyContent

Source§

impl RawEncode for UnionAccountDescContent

Source§

impl RawEncode for UniqueId

Source§

impl RawEncode for VarString

Source§

impl<'de, B, O> RawEncode for ObjectMutBody<B, O>

Source§

impl<'o, T: RawEncode> RawEncode for OptionRef<'o, T>

Source§

impl<'op, T> RawEncode for DiffOpRef<'op, T>
where T: RawEncode,

Source§

impl<'r> RawEncode for PublicKeyRef<'r>

Source§

impl<'v, T> RawEncode for ItemChangeRef<'v, T>
where T: RawEncode,

Source§

impl<O> RawEncode for NamedObjectBase<O>

Source§

impl<T> RawEncode for ItemChange<T>
where T: RawEncode,

Source§

impl<T> RawEncode for MapContentT<T>

Source§

impl<T> RawEncode for NamedObjectDesc<T>

§NamedObjectDesc 独立编解码,需要包含obj_type+obj_flags信息

  • [1] ctx 部分包含obj_type, obj_flags 信息(前5bits为0,区别于NamedObject里的ctx.obj_flags)
  • [2] 其余部分为desc本身的编码 需要注意Desc部分独立编码,需要在头部编码正确的NamedObjectContext;如果在NamedObject内部整体编码,则由外层保证
Source§

impl<T> RawEncode for SetContentT<T>

Source§

impl<T> RawEncode for TypeBuffer<T>
where for<'de> T: RawEncode + RawDecode<'de>,

Source§

impl<T: From<usize> + RawFixedBytes + RawEncode> RawEncode for SizedOwnedData<T>

Source§

impl<T: ObjectType> RawEncode for NamedObjectId<T>

Source§

impl<T: RawEncode> RawEncode for ContractDescContent<T>

Source§

impl<T: RawEncode> RawEncode for ProofOfServiceBodyContent<T>

Source§

impl<T: RawEncode> RawEncode for ProofOfServiceDescContent<T>

Source§

impl<T: RawEncode> RawEncode for TxDescContent<T>