Struct cyfs_base::NamedObjectBase
source · pub struct NamedObjectBase<O>where
O: ObjectType,
O::ContentType: BodyContent,{ /* 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>where
O: ObjectType,
O::ContentType: BodyContent,
impl<O> NamedObjectBase<O>where O: ObjectType, O::ContentType: BodyContent,
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>
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>where
O: ObjectType + Clone,
O::ContentType: BodyContent + Clone,
O::DescType: Clone,
impl<O> Clone for NamedObjectBase<O>where O: ObjectType + Clone, O::ContentType: BodyContent + Clone, O::DescType: Clone,
source§fn clone(&self) -> NamedObjectBase<O>
fn clone(&self) -> NamedObjectBase<O>
Returns a copy 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>where
O: ObjectType + Debug,
O::ContentType: BodyContent + Debug,
O::DescType: Debug,
impl<O> Debug for NamedObjectBase<O>where O: ObjectType + Debug, O::ContentType: BodyContent + Debug, O::DescType: Debug,
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
impl TryFrom<NamedObjectBase<TypelessObjectType<AnyTypeMark>>> for AnyNamedObject
从 TypelessAnyObject 转成 AnyNamedObject
§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,
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 转成 具体的强类型
§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.