[][src]Struct pbd::dtc::Marker

pub struct Marker {
    pub identifier: MarkerIdentifier,
    pub hash: String,
    pub previous_hash: String,
    // some fields omitted
}

Represents a Marker

Fields

identifier: MarkerIdentifier

The unique identifier of the the data being tracked, (e.g.: order~clothing~iStore~15150)

hash: String

The identifying hash of the Marker

previous_hash: String

The identifying hash of the previous Marker in the Data Tracker Chain

Methods

impl Marker[src]

pub fn new(
    idx: usize,
    tmstp: u64,
    act_id: String,
    dat_id: String,
    prev_hash: String
) -> Marker
[src]

Constructs a Marker object

Arguments

  • idx: usize - The sequanece number of the Marker in the Data Tracker Chain, (e.g.: 0,1,2,3).
  • tmstp: String - The date and time (Unix timestamp) the data came into posession of the Actor.
  • act_id: String - The Unix Epoch time when the DUA was agreed to.
  • dat_id: String - The unique identifier of the the data being tracked.
  • prev_hash: String - The identifying hash of the previous Marker in the Data Tracker Chain

#Example

extern crate pbd;

use pbd::dtc::Marker;

fn main() {
    let marker = Marker::new(1, 1578071239, "notifier~billing~receipt~email".to_string(), "order~clothing~iStore~15150".to_string(), "123456".to_string());
     
    println!("{} has touched the data object {}", marker.identifier.actor_id, marker.identifier.data_id);
}

pub fn genesis(dat_id: String) -> Marker[src]

Constructs the first Marker (a.k.a. Genesis Black)

Arguments

  • dat_id: String - The unique identifier of the the data being tracked.

#Example

extern crate pbd;

use pbd::dtc::Marker;

fn main() {
    let marker = Marker::genesis("order~clothing~iStore~15150".to_string());
     
    assert_eq!(marker.identifier.index, 0);
}

pub fn serialize(&self) -> String[src]

Serializes the Marker.

#Example

extern crate pbd;

use pbd::dtc::Marker;

fn main() {
    let marker = Marker::new(1, 1578071239, "notifier~billing~receipt~email".to_string(), "order~clothing~iStore~15150".to_string(), "hash-12345".to_string());
     
    println!("{}", marker.serialize());
}

Trait Implementations

impl Clone for Marker[src]

impl Debug for Marker[src]

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

impl Serialize for Marker[src]

Auto Trait Implementations

impl RefUnwindSafe for Marker

impl Send for Marker

impl Sync for Marker

impl Unpin for Marker

impl UnwindSafe for Marker

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: Deserialize<'de>, 
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

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