pub struct NamedObjectBase<O>{ /* private fields */ }
Implementations§
Source§impl NamedObjectBase<NamedObjType<ActionDescContent, ActionBodyContent>>
impl NamedObjectBase<NamedObjType<ActionDescContent, ActionBodyContent>>
pub fn new() -> ActionBuilder
Source§impl NamedObjectBase<NamedObjType<AppGroupDescContent, AppGroupBodyContent>>
impl NamedObjectBase<NamedObjType<AppGroupDescContent, AppGroupBodyContent>>
pub fn new() -> AppGroupBuilder
Source§impl NamedObjectBase<NamedObjType<ContractDescContent<ContractData>, ContractBodyContent<ContractData>>>
impl NamedObjectBase<NamedObjType<ContractDescContent<ContractData>, ContractBodyContent<ContractData>>>
pub fn new( owner: ObjectId, author: ObjectId, desc: ContractDescContent<ContractData>, body: ContractBodyContent<ContractData>, ) -> ContractBuilder
Source§impl NamedObjectBase<NamedObjType<DeviceDescContent, DeviceBodyContent>>
impl NamedObjectBase<NamedObjType<DeviceDescContent, DeviceBodyContent>>
pub fn new( owner: Option<ObjectId>, unique_id: UniqueId, endpoints: Vec<Endpoint>, sn_list: Vec<DeviceId>, passive_pn_list: Vec<DeviceId>, public_key: PublicKey, area: Area, category: DeviceCategory, ) -> DeviceBuilder
pub fn connect_info(&self) -> &DeviceBodyContent
pub fn mut_connect_info(&mut self) -> &mut DeviceBodyContent
pub fn name(&self) -> Option<&str>
pub fn set_name(&mut self, name: Option<String>)
pub fn bdt_version(&self) -> Option<u8>
pub fn set_bdt_version(&mut self, bdt_version: Option<u8>)
pub fn category(&self) -> BuckyResult<DeviceCategory>
pub fn has_wan_endpoint(&self) -> bool
Source§impl NamedObjectBase<NamedObjType<DirDescContent, DirBodyContent>>
impl NamedObjectBase<NamedObjType<DirDescContent, DirBodyContent>>
pub fn new( dir_attributes: Attributes, obj_desc: NDNObjectInfo, obj_map: HashMap<ObjectId, Vec<u8>>, ) -> DirBuilder
pub fn new_with_chunk_body( dir_attributes: Attributes, obj_desc: NDNObjectInfo, chunk_body: ChunkId, ) -> DirBuilder
pub fn get_data_from_body(&self, id: &ObjectId) -> Option<&Vec<u8>>
pub fn check_and_fix_desc_limit(&mut self) -> BuckyResult<()>
Source§impl<O> NamedObjectBase<O>
impl<O> NamedObjectBase<O>
pub fn new_builder(desc: O::DescType) -> NamedObjectBaseBuilder<O>
pub fn default(desc: O::DescType) -> Self
pub fn new_desc( desc: O::DescType, signs: ObjectSigns, nonce: Option<u128>, ) -> Self
Sourcepub fn split(
self,
) -> (O::DescType, Option<ObjectMutBody<O::ContentType, O>>, ObjectSigns, Option<u128>)
pub fn split( self, ) -> (O::DescType, Option<ObjectMutBody<O::ContentType, O>>, ObjectSigns, Option<u128>)
§大卸八块,映射成其他类型,Move语义
- desc: O::DescType,
- body: Option<ObjectMutBody<O::ContentType, O>>
- signs: ObjectSigns,
- nonce: Option
,
可进一步对body.unwrap().split()
pub fn into_desc(self) -> O::DescType
pub fn into_body(self) -> Option<ObjectMutBody<O::ContentType, O>>
pub fn get_obj_update_time(&self) -> u64
Source§impl NamedObjectBase<NamedObjType<ObjectMapDescContent, ObjectMapBodyContent>>
impl NamedObjectBase<NamedObjType<ObjectMapDescContent, ObjectMapBodyContent>>
pub fn new( content_type: ObjectMapSimpleContentType, owner: Option<ObjectId>, dec_id: Option<ObjectId>, ) -> ObjectMapBuilder
pub fn count(&self) -> u64
pub fn object_id(&self) -> ObjectId
pub fn content_type(&self) -> ObjectMapSimpleContentType
pub fn mode(&self) -> ObjectMapContentMode
pub fn class(&self) -> ObjectMapClass
pub fn depth(&self) -> u8
pub fn metadata(&self) -> ObjectMapMetaData
pub fn cached_object_id(&self) -> Option<ObjectId>
pub fn direct_set_object_id_on_init(&self, object_id: &ObjectId)
pub fn flush_id(&self) -> ObjectId
pub fn flush_id_without_cache(&self) -> ObjectId
pub async fn convert_to_simple( &mut self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<()>
pub async fn convert_to_hub( &mut self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<()>
pub fn into_simple(self) -> ObjectMapSimpleContent
pub async fn get_or_create_child_object_map( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, content_type: ObjectMapSimpleContentType, auto_create: ObjectMapCreateStrategy, access: Option<AccessString>, ) -> BuckyResult<Option<ObjectMapRef>>
pub async fn list( &self, cache: &ObjectMapOpEnvCacheRef, list: &mut ObjectMapContentList, ) -> BuckyResult<u64>
pub async fn list_direct( &self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<ObjectMapContentList>
pub async fn list_subs( &self, cache: &ObjectMapOpEnvCacheRef, list: &mut Vec<ObjectId>, ) -> BuckyResult<u64>
pub async fn next(&self, it: &mut ObjectMapIterator) -> BuckyResult<()>
pub async fn get_by_key( &self, cache: &ObjectMapOpEnvCacheRef, key: &str, ) -> BuckyResult<Option<ObjectId>>
pub async fn insert_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectId, ) -> BuckyResult<()>
pub async fn set_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectId, prev_value: &Option<ObjectId>, auto_insert: bool, ) -> BuckyResult<Option<ObjectId>>
pub async fn remove_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, prev_value: &Option<ObjectId>, ) -> BuckyResult<Option<ObjectId>>
pub async fn diff_get_by_key( &self, cache: &ObjectMapOpEnvCacheRef, key: &str, ) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn diff_insert_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectMapDiffMapItem, ) -> BuckyResult<()>
pub async fn diff_set_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectMapDiffMapItem, prev_value: &Option<ObjectMapDiffMapItem>, auto_insert: bool, ) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn diff_remove_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, prev_value: &Option<ObjectMapDiffMapItem>, ) -> BuckyResult<Option<ObjectMapDiffMapItem>>
pub async fn contains( &self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>
pub async fn insert( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>
pub async fn remove( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>
pub async fn diff_contains( &self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>
pub async fn diff_insert( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>
pub async fn diff_remove( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>
pub async fn visit( &self, visitor: &mut impl ObjectMapVisitor, ) -> BuckyResult<()>
Source§impl NamedObjectBase<NamedObjType<PeopleDescContent, PeopleBodyContent>>
impl NamedObjectBase<NamedObjType<PeopleDescContent, PeopleBodyContent>>
pub fn new( owner: Option<ObjectId>, ood_list: Vec<DeviceId>, public_key: PublicKey, area: Option<Area>, name: Option<String>, icon: Option<FileId>, ) -> PeopleBuilder
pub fn ood_work_mode(&self) -> OODWorkMode
pub fn set_ood_work_mode(&mut self, ood_work_mode: OODWorkMode)
pub fn ood_list(&self) -> &Vec<DeviceId> ⓘ
pub fn ood_list_mut(&mut self) -> &mut Vec<DeviceId> ⓘ
pub fn name(&self) -> Option<&str>
pub fn icon(&self) -> Option<&FileId>
pub fn set_name(&mut self, name: String)
pub fn set_icon(&mut self, icon: FileId)
Source§impl NamedObjectBase<ProofOfServiceType>
impl NamedObjectBase<ProofOfServiceType>
pub fn new( desc_content: ProofOfServiceDescContent<ProofData>, ) -> ProofOfServiceBuilder
Source§impl NamedObjectBase<TxType>
§交易对象
new 传入 TxBody,注意 TxBody不是 Tx.body(),这个地方的命名有点冲突
new_multi_body 传入 Vec
impl NamedObjectBase<TxType>
§交易对象
new 传入 TxBody,注意 TxBody不是 Tx.body(),这个地方的命名有点冲突
new_multi_body 传入 Vec
pub fn new( nonce: i64, caller: TxCaller, gas_coin_id: u8, gas_price: u16, max_fee: u32, condition: Option<TxCondition>, body: Vec<u8>, data: Vec<u8>, ) -> TxBuilder
pub fn verify_signature(&self, public_key: PublicKey) -> BuckyResult<bool>
pub async fn async_verify_signature( &self, public_key: PublicKey, ) -> BuckyResult<bool>
pub fn sign(&mut self, secret: &PrivateKey) -> BuckyResult<()>
Trait Implementations§
Source§impl<O> Clone for NamedObjectBase<O>
impl<O> Clone for NamedObjectBase<O>
Source§fn clone(&self) -> NamedObjectBase<O>
fn clone(&self) -> NamedObjectBase<O>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<O> Debug for NamedObjectBase<O>
impl<O> Debug for NamedObjectBase<O>
Source§impl<O> NamedObject<O> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> NamedObject<O> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
fn obj_flags(&self) -> u16
fn desc(&self) -> &O::DescType
fn desc_mut(&mut self) -> &mut O::DescType
fn body(&self) -> &Option<ObjectMutBody<O::ContentType, O>>
fn body_mut(&mut self) -> &mut Option<ObjectMutBody<O::ContentType, O>>
fn signs(&self) -> &ObjectSigns
fn signs_mut(&mut self) -> &mut ObjectSigns
fn nonce(&self) -> &Option<u128>
fn body_expect(&self, msg: &str) -> &ObjectMutBody<O::ContentType, O>
fn body_mut_expect( &mut self, msg: &str, ) -> &mut ObjectMutBody<O::ContentType, O>
fn latest_update_time(&self) -> u64
Source§impl<O> ObjectFormat for NamedObjectBase<O>where
O: ObjectType,
O::DescType: ObjectFormat,
O::ContentType: BodyContent + ObjectFormat,
NamedObjectBase<O>: NamedObject<O>,
impl<O> ObjectFormat for NamedObjectBase<O>where
O: ObjectType,
O::DescType: ObjectFormat,
O::ContentType: BodyContent + ObjectFormat,
NamedObjectBase<O>: NamedObject<O>,
fn format_json(&self) -> Value
Source§impl<'de, O> RawDecode<'de> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawDecodeWithContext<'de, NamedObjectContext>,
O::ContentType: RawDecode<'de> + BodyContent,
impl<'de, O> RawDecode<'de> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawDecodeWithContext<'de, NamedObjectContext>,
O::ContentType: RawDecode<'de> + BodyContent,
fn raw_decode(buf: &'de [u8]) -> BuckyResult<(Self, &'de [u8])>
fn raw_decode_with_option( buf: &'de [u8], _opt: &RawDecodeOption, ) -> BuckyResult<(Self, &'de [u8])>
Source§impl<O> RawEncode for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> RawEncode for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
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]>
fn raw_encode_to_buffer(&self) -> BuckyResult<Vec<u8>>
fn raw_tail_encode<'a>( &self, buf: &'a mut [u8], purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a [u8]>
fn raw_hash_value(&self) -> BuckyResult<HashValue>
fn hash_buf(&self, encoded_buf: &[u8]) -> HashValue
fn raw_hash_encode(&self) -> BuckyResult<Vec<u8>>
Source§impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>where
O: ObjectType,
O::DescType: RawEncodeWithContext<NamedObjectContext>,
O::ContentType: RawEncode + BodyContent,
fn raw_measure_with_context( &self, ctx: &mut NamedObjectContext, purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<usize>
fn raw_encode_with_context<'a>( &self, buf: &'a mut [u8], ctx: &mut NamedObjectContext, purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a mut [u8]>
fn raw_tail_encode_with_context<'a>( &self, buf: &'a mut [u8], context: &mut Context, purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<&'a [u8]>
Source§impl TryFrom<NamedObjectBase<TypelessObjectType<AnyTypeMark>>> for AnyNamedObject
从 TypelessAnyObject 转成 AnyNamedObject
impl TryFrom<NamedObjectBase<TypelessObjectType<AnyTypeMark>>> for AnyNamedObject
从 TypelessAnyObject 转成 AnyNamedObject
Source§type Error = BuckyError
type Error = BuckyError
The type returned in the event of a conversion error.
Source§impl<T, DescContentT, BodyContentT> TryFrom<NamedObjectBase<TypelessObjectType<T>>> for NamedObjectBase<NamedObjType<DescContentT, BodyContentT>>where
T: TypeCatagoryMark,
DescContentT: for<'de> RawDecode<'de> + RawEncode + DescContent + Sync + Send + Clone,
BodyContentT: for<'de> RawDecode<'de> + Sync + Send + Clone + RawEncode + BodyContent,
从 TypelessAnyObject/TypelessCoreObject/TypelessStandardObject/TypelessDECAppObject 转成 具体的强类型
impl<T, DescContentT, BodyContentT> TryFrom<NamedObjectBase<TypelessObjectType<T>>> for NamedObjectBase<NamedObjType<DescContentT, BodyContentT>>where
T: TypeCatagoryMark,
DescContentT: for<'de> RawDecode<'de> + RawEncode + DescContent + Sync + Send + Clone,
BodyContentT: for<'de> RawDecode<'de> + Sync + Send + Clone + RawEncode + BodyContent,
从 TypelessAnyObject/TypelessCoreObject/TypelessStandardObject/TypelessDECAppObject 转成 具体的强类型
Source§type Error = BuckyError
type Error = BuckyError
The type returned in the event of a conversion error.
Source§fn try_from(
value: NamedObjectBase<TypelessObjectType<T>>,
) -> Result<Self, Self::Error>
fn try_from( value: NamedObjectBase<TypelessObjectType<T>>, ) -> Result<Self, Self::Error>
Performs the conversion.
Auto Trait Implementations§
impl<O> Freeze for NamedObjectBase<O>
impl<O> RefUnwindSafe for NamedObjectBase<O>where
<O as ObjectType>::DescType: RefUnwindSafe,
<O as ObjectType>::ContentType: RefUnwindSafe,
O: RefUnwindSafe,
impl<O> Send for NamedObjectBase<O>where
O: Send,
impl<O> Sync for NamedObjectBase<O>where
O: Sync,
impl<O> Unpin for NamedObjectBase<O>
impl<O> UnwindSafe for NamedObjectBase<O>where
<O as ObjectType>::DescType: UnwindSafe,
<O as ObjectType>::ContentType: UnwindSafe,
O: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, D> FileDecoder<'de> for Dwhere
D: RawDecode<'de>,
impl<'de, D> FileDecoder<'de> for Dwhere
D: RawDecode<'de>,
fn decode_from_file( file: &Path, buf: &'de mut Vec<u8>, ) -> Result<(D, usize), BuckyError>
Source§impl<D> FileEncoder<D> for Dwhere
D: RawEncode,
impl<D> FileEncoder<D> for Dwhere
D: RawEncode,
fn suggest_buffer_size(&self) -> Result<usize, BuckyError>
fn encode<'a>( &self, buf: &'a mut [u8], _is_compress: bool, ) -> Result<&'a mut [u8], BuckyError>
fn encode_to_writer( &self, writer: impl Write, is_compress: bool, ) -> BuckyResult<usize>
fn encode_to_file(&self, file: &Path, is_compress: bool) -> BuckyResult<usize>
fn encode_to_vec(&self, is_compress: bool) -> BuckyResult<Vec<u8>>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more