NamedObjectBase

Struct NamedObjectBase 

Source
pub struct NamedObjectBase<O>{ /* private fields */ }

Implementations§

Source§

impl NamedObjectBase<NamedObjType<ActionDescContent, ActionBodyContent>>

Source§

impl NamedObjectBase<NamedObjType<AppGroupDescContent, AppGroupBodyContent>>

Source§

impl NamedObjectBase<NamedObjType<ContractDescContent<ContractData>, ContractBodyContent<ContractData>>>

Source§

impl NamedObjectBase<NamedObjType<DeviceDescContent, DeviceBodyContent>>

Source

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

Source

pub fn connect_info(&self) -> &DeviceBodyContent

Source

pub fn mut_connect_info(&mut self) -> &mut DeviceBodyContent

Source

pub fn name(&self) -> Option<&str>

Source

pub fn set_name(&mut self, name: Option<String>)

Source

pub fn bdt_version(&self) -> Option<u8>

Source

pub fn set_bdt_version(&mut self, bdt_version: Option<u8>)

Source

pub fn category(&self) -> BuckyResult<DeviceCategory>

Source

pub fn has_wan_endpoint(&self) -> bool

Source§

impl NamedObjectBase<NamedObjType<DiffDescContent, DiffBodyContent>>

Source

pub fn new(file_id: FileId, diff_list: Vec<ChunkId>) -> DiffBuilder

Source§

impl NamedObjectBase<NamedObjType<DirDescContent, DirBodyContent>>

Source

pub fn new( dir_attributes: Attributes, obj_desc: NDNObjectInfo, obj_map: HashMap<ObjectId, Vec<u8>>, ) -> DirBuilder

Source

pub fn new_with_chunk_body( dir_attributes: Attributes, obj_desc: NDNObjectInfo, chunk_body: ChunkId, ) -> DirBuilder

Source

pub fn get_data_from_body(&self, id: &ObjectId) -> Option<&Vec<u8>>

Source

pub fn check_and_fix_desc_limit(&mut self) -> BuckyResult<()>

Source§

impl NamedObjectBase<NamedObjType<FileDescContent, FileBodyContent>>

Source

pub fn new( owner: ObjectId, len: u64, hash: HashValue, chunk_list: ChunkList, ) -> FileBuilder

Source

pub fn new_no_owner( len: u64, hash: HashValue, chunk_list: ChunkList, ) -> FileBuilder

Source

pub fn len(&self) -> u64

Source

pub fn hash(&self) -> &HashValue

Source§

impl<O> NamedObjectBase<O>

Source

pub fn new_builder(desc: O::DescType) -> NamedObjectBaseBuilder<O>

Source

pub fn default(desc: O::DescType) -> Self

Source

pub fn new_desc( desc: O::DescType, signs: ObjectSigns, nonce: Option<u128>, ) -> Self

Source

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()

Source

pub fn into_desc(self) -> O::DescType

Source

pub fn into_body(self) -> Option<ObjectMutBody<O::ContentType, O>>

Source

pub fn get_obj_update_time(&self) -> u64

Source§

impl NamedObjectBase<NamedObjType<ObjectMapDescContent, ObjectMapBodyContent>>

Source

pub fn new( content_type: ObjectMapSimpleContentType, owner: Option<ObjectId>, dec_id: Option<ObjectId>, ) -> ObjectMapBuilder

Source

pub fn count(&self) -> u64

Source

pub fn object_id(&self) -> ObjectId

Source

pub fn content_type(&self) -> ObjectMapSimpleContentType

Source

pub fn mode(&self) -> ObjectMapContentMode

Source

pub fn class(&self) -> ObjectMapClass

Source

pub fn depth(&self) -> u8

Source

pub fn metadata(&self) -> ObjectMapMetaData

Source

pub fn cached_object_id(&self) -> Option<ObjectId>

Source

pub fn direct_set_object_id_on_init(&self, object_id: &ObjectId)

Source

pub fn flush_id(&self) -> ObjectId

Source

pub fn flush_id_without_cache(&self) -> ObjectId

Source

pub async fn convert_to_simple( &mut self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<()>

Source

pub async fn convert_to_hub( &mut self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<()>

Source

pub fn into_simple(self) -> ObjectMapSimpleContent

Source

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>>

Source

pub async fn list( &self, cache: &ObjectMapOpEnvCacheRef, list: &mut ObjectMapContentList, ) -> BuckyResult<u64>

Source

pub async fn list_direct( &self, cache: &ObjectMapOpEnvCacheRef, ) -> BuckyResult<ObjectMapContentList>

Source

pub async fn list_subs( &self, cache: &ObjectMapOpEnvCacheRef, list: &mut Vec<ObjectId>, ) -> BuckyResult<u64>

Source

pub async fn next(&self, it: &mut ObjectMapIterator) -> BuckyResult<()>

Source

pub async fn get_by_key( &self, cache: &ObjectMapOpEnvCacheRef, key: &str, ) -> BuckyResult<Option<ObjectId>>

Source

pub async fn insert_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectId, ) -> BuckyResult<()>

Source

pub async fn set_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectId, prev_value: &Option<ObjectId>, auto_insert: bool, ) -> BuckyResult<Option<ObjectId>>

Source

pub async fn remove_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, prev_value: &Option<ObjectId>, ) -> BuckyResult<Option<ObjectId>>

Source

pub async fn diff_get_by_key( &self, cache: &ObjectMapOpEnvCacheRef, key: &str, ) -> BuckyResult<Option<ObjectMapDiffMapItem>>

Source

pub async fn diff_insert_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, value: &ObjectMapDiffMapItem, ) -> BuckyResult<()>

Source

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>>

Source

pub async fn diff_remove_with_key( &mut self, cache: &ObjectMapOpEnvCacheRef, key: &str, prev_value: &Option<ObjectMapDiffMapItem>, ) -> BuckyResult<Option<ObjectMapDiffMapItem>>

Source

pub async fn contains( &self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>

Source

pub async fn insert( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>

Source

pub async fn remove( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectId, ) -> BuckyResult<bool>

Source

pub async fn diff_contains( &self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>

Source

pub async fn diff_insert( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>

Source

pub async fn diff_remove( &mut self, cache: &ObjectMapOpEnvCacheRef, object_id: &ObjectMapDiffSetItem, ) -> BuckyResult<bool>

Source

pub async fn visit( &self, visitor: &mut impl ObjectMapVisitor, ) -> BuckyResult<()>

Source§

impl NamedObjectBase<OrgType>

Source

pub fn new(members: Vec<OrgMember>, directors: Vec<Director>) -> OrgBuilder

Source

pub fn members(&self) -> &Vec<OrgMember>

Source

pub fn members_mut(&mut self) -> &mut Vec<OrgMember>

Source§

impl NamedObjectBase<NamedObjType<PeopleDescContent, PeopleBodyContent>>

Source

pub fn new( owner: Option<ObjectId>, ood_list: Vec<DeviceId>, public_key: PublicKey, area: Option<Area>, name: Option<String>, icon: Option<FileId>, ) -> PeopleBuilder

Source

pub fn ood_work_mode(&self) -> OODWorkMode

Source

pub fn set_ood_work_mode(&mut self, ood_work_mode: OODWorkMode)

Source

pub fn ood_list(&self) -> &Vec<DeviceId>

Source

pub fn ood_list_mut(&mut self) -> &mut Vec<DeviceId>

Source

pub fn name(&self) -> Option<&str>

Source

pub fn icon(&self) -> Option<&FileId>

Source

pub fn set_name(&mut self, name: String)

Source

pub fn set_icon(&mut self, icon: FileId)

Source§

impl NamedObjectBase<ProofOfServiceType>

Source§

impl NamedObjectBase<NamedObjType<SimpleGroupDescContent, SimpleGroupBodyContent>>

Source

pub fn new( threshold: u8, owners: Vec<PublicKey>, members: Vec<ObjectId>, ood_work_mode: OODWorkMode, ood_list: Vec<DeviceId>, area: Area, ) -> SimpleGroupBuilder

Source§

impl NamedObjectBase<TxType>

§交易对象

new 传入 TxBody,注意 TxBody不是 Tx.body(),这个地方的命名有点冲突 new_multi_body 传入 Vec

Source

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

Source

pub fn verify_signature(&self, public_key: PublicKey) -> BuckyResult<bool>

Source

pub async fn async_verify_signature( &self, public_key: PublicKey, ) -> BuckyResult<bool>

Source

pub fn sign(&mut self, secret: &PrivateKey) -> BuckyResult<()>

Source§

impl NamedObjectBase<UnionAccountType>

Source

pub fn new( account1: ObjectId, account2: ObjectId, service_type: u8, ) -> UnionAccountBuilder

Trait Implementations§

Source§

impl<O> Clone for NamedObjectBase<O>

Source§

fn clone(&self) -> NamedObjectBase<O>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<O> Debug for NamedObjectBase<O>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<O> NamedObject<O> for NamedObjectBase<O>

Source§

fn obj_flags(&self) -> u16

Source§

fn desc(&self) -> &O::DescType

Source§

fn desc_mut(&mut self) -> &mut O::DescType

Source§

fn body(&self) -> &Option<ObjectMutBody<O::ContentType, O>>

Source§

fn body_mut(&mut self) -> &mut Option<ObjectMutBody<O::ContentType, O>>

Source§

fn signs(&self) -> &ObjectSigns

Source§

fn signs_mut(&mut self) -> &mut ObjectSigns

Source§

fn nonce(&self) -> &Option<u128>

Source§

fn body_expect(&self, msg: &str) -> &ObjectMutBody<O::ContentType, O>

Source§

fn body_mut_expect( &mut self, msg: &str, ) -> &mut ObjectMutBody<O::ContentType, O>

Source§

fn latest_update_time(&self) -> u64

Source§

impl<O> ObjectFormat for NamedObjectBase<O>

Source§

impl<'de, O> RawDecode<'de> for NamedObjectBase<O>

Source§

fn raw_decode(buf: &'de [u8]) -> BuckyResult<(Self, &'de [u8])>

Source§

fn raw_decode_with_option( buf: &'de [u8], _opt: &RawDecodeOption, ) -> BuckyResult<(Self, &'de [u8])>

Source§

impl<O> RawEncode for NamedObjectBase<O>

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§

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

Source§

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

Source§

impl<O> RawEncodeWithContext<NamedObjectContext> for NamedObjectBase<O>

Source§

fn raw_measure_with_context( &self, ctx: &mut NamedObjectContext, purpose: &Option<RawEncodePurpose>, ) -> BuckyResult<usize>

Source§

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

Source§

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

Source§

type Error = BuckyError

The type returned in the event of a conversion error.
Source§

fn try_from(value: TypelessAnyObject) -> Result<Self, Self::Error>

Performs the conversion.
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 转成 具体的强类型

Source§

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>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<'de, D> FileDecoder<'de> for D
where D: RawDecode<'de>,

Source§

fn decode_from_file( file: &Path, buf: &'de mut Vec<u8>, ) -> Result<(D, usize), BuckyError>

Source§

impl<D> FileEncoder<D> for D
where D: RawEncode,

Source§

fn suggest_buffer_size(&self) -> Result<usize, BuckyError>

Source§

fn encode<'a>( &self, buf: &'a mut [u8], _is_compress: bool, ) -> Result<&'a mut [u8], BuckyError>

Source§

fn encode_to_writer( &self, writer: impl Write, is_compress: bool, ) -> BuckyResult<usize>

Source§

fn encode_to_file(&self, file: &Path, is_compress: bool) -> BuckyResult<usize>

Source§

fn encode_to_vec(&self, is_compress: bool) -> BuckyResult<Vec<u8>>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

impl<'de, O> RawFrom<'de, O> for O
where O: RawDecode<'de>,

Source§

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

Source§

fn clone_from_hex(hex_str: &str, buf: &'de mut Vec<u8>) -> Result<O, BuckyError>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,