[][src]Enum safe_nd::SData

pub enum SData {
    Public(PubSeqData),
    Private(PrivSeqData),
}

Object storing a Sequence variant.

Variants

Public(PubSeqData)

Public Sequence Data.

Private(PrivSeqData)

Private Sequence Data.

Implementations

impl Data[src]

pub fn new_pub(actor: PublicKey, name: XorName, tag: u64) -> Self[src]

Constructs a new Public Sequence Data.

pub fn new_priv(actor: PublicKey, name: XorName, tag: u64) -> Self[src]

Constructs a new Private Sequence Data.

pub fn address(&self) -> &Address[src]

Returns the address.

pub fn kind(&self) -> Kind[src]

Returns the kind.

pub fn name(&self) -> &XorName[src]

Returns the name.

pub fn tag(&self) -> u64[src]

Returns the tag.

pub fn is_pub(&self) -> bool[src]

Returns true if public.

pub fn is_priv(&self) -> bool[src]

Returns true if private.

pub fn check_permission(
    &self,
    action: Action,
    requester: PublicKey
) -> Result<()>
[src]

Checks permissions for given action for the provided user.

Returns: Ok(()) if the permissions are valid, Err::InvalidOwners if the last owner is invalid, Err::AccessDenied if the action is not allowed.

pub fn entries_index(&self) -> u64[src]

Returns the last entry index.

pub fn permissions_index(&self) -> u64[src]

Returns the last permissions index.

pub fn owners_index(&self) -> u64[src]

Returns the last owners index.

pub fn in_range(&self, start: Index, end: Index) -> Option<Entries>[src]

Gets a list of keys and values with the given indices.

pub fn get(&self, index: Index) -> Option<&Vec<u8>>[src]

Returns a value at 'index', if present.

pub fn last_entry(&self) -> Option<&Entry>[src]

Returns the last entry, if present.

pub fn owner(&self, owners_index: impl Into<Index>) -> Option<&Owner>[src]

Fetches owner at index.

pub fn append(&mut self, entry: Entry) -> MutationOperation<Entry>[src]

Appends new entry.

pub fn apply_crdt_op(&mut self, op: Op<Entry, PublicKey>)[src]

Apply CRDT operation.

pub fn set_pub_permissions(
    &mut self,
    permissions: BTreeMap<User, PubUserPermissions>
) -> Result<MutationOperation<PubPermissions>>
[src]

Adds a new permissions entry for Public Sequence.

pub fn set_priv_permissions(
    &mut self,
    permissions: BTreeMap<PublicKey, PrivUserPermissions>
) -> Result<MutationOperation<PrivPermissions>>
[src]

Adds a new permissions entry for Private Sequence.

pub fn apply_crdt_pub_perms_op(
    &mut self,
    op: Op<PubPermissions, PublicKey>
) -> Result<()>
[src]

Apply Public Permissions CRDT operation.

pub fn apply_crdt_priv_perms_op(
    &mut self,
    op: Op<PrivPermissions, PublicKey>
) -> Result<()>
[src]

Apply Private Permissions CRDT operation.

pub fn set_owner(&mut self, owner: PublicKey) -> MutationOperation<Owner>[src]

Adds a new owner entry.

pub fn apply_crdt_owner_op(&mut self, op: Op<Owner, PublicKey>)[src]

Apply Owner CRDT operation.

pub fn check_is_last_owner(&self, requester: PublicKey) -> Result<()>[src]

Checks if the requester is the last owner.

Returns: Ok(()) if the requester is the owner, Err::InvalidOwners if the last owner is invalid, Err::AccessDenied if the requester is not the owner.

pub fn user_permissions(
    &self,
    user: User,
    index: impl Into<Index>
) -> Result<UserPermissions>
[src]

Returns user permissions, if applicable.

pub fn pub_permissions(
    &self,
    index: impl Into<Index>
) -> Result<&PubPermissions>
[src]

Returns public permissions, if applicable.

pub fn priv_permissions(
    &self,
    index: impl Into<Index>
) -> Result<&PrivPermissions>
[src]

Returns private permissions, if applicable.

Trait Implementations

impl Clone for Data[src]

impl Debug for Data[src]

impl<'de> Deserialize<'de> for Data[src]

impl Eq for Data[src]

impl From<Data> for Data[src]

impl Hash for Data[src]

impl PartialEq<Data> for Data[src]

impl PartialOrd<Data> for Data[src]

impl Serialize for Data[src]

impl StructuralEq for Data[src]

impl StructuralPartialEq for Data[src]

impl TryFrom<Response> for SData[src]

type Error = TryFromError

The type returned in the event of a conversion error.

Auto Trait Implementations

impl RefUnwindSafe for Data

impl Send for Data

impl Sync for Data

impl Unpin for Data

impl UnwindSafe for Data

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Member for T where
    T: Clone + Eq + Hash
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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