Struct zookeeper::Stat

source ·
pub struct Stat {
    pub czxid: i64,
    pub mzxid: i64,
    pub ctime: i64,
    pub mtime: i64,
    pub version: i32,
    pub cversion: i32,
    pub aversion: i32,
    pub ephemeral_owner: i64,
    pub data_length: i32,
    pub num_children: i32,
    pub pzxid: i64,
}
Expand description

Statistics about a znode, similar to the UNIX stat structure.

Time in ZooKeeper

The concept of time is tricky in distributed systems. ZooKeeper keeps track of time in a number of ways.

  • zxid: Every change to a ZooKeeper cluster receives a stamp in the form of a zxid (ZooKeeper Transaction ID). This exposes the total ordering of all changes to ZooKeeper. Each change will have a unique zxid – if zxid:a is smaller than zxid:b, then the associated change to zxid:a happened before zxid:b.
  • Version Numbers: Every change to a znode will cause an increase to one of the version numbers of that node.
  • Clock Time: ZooKeeper does not use clock time to make decisions, but it uses it to put timestamps into the Stat structure.

Fields§

§czxid: i64

The transaction ID that created the znode.

§mzxid: i64

The last transaction that modified the znode.

§ctime: i64

Milliseconds since epoch when the znode was created.

§mtime: i64

Milliseconds since epoch when the znode was last modified.

§version: i32

The number of changes to the data of the znode.

§cversion: i32

The number of changes to the children of the znode.

§aversion: i32

The number of changes to the ACL of the znode.

§ephemeral_owner: i64

The session ID of the owner of this znode, if it is an ephemeral entry.

§data_length: i32

The length of the data field of the znode.

§num_children: i32

The number of children this znode has.

§pzxid: i64

The transaction ID that last modified the children of the znode.

Implementations§

source§

impl Stat

source

pub fn is_ephemeral(&self) -> bool

Is the znode an ephemeral entry?

Trait Implementations§

source§

impl Debug for Stat

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Stat

§

impl Send for Stat

§

impl Sync for Stat

§

impl Unpin for Stat

§

impl UnwindSafe for Stat

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.