mod account;
mod routing;
#[cfg(test)]
mod tests;
pub mod vault;
pub use self::account::{Account, DEFAULT_MAX_MUTATIONS};
pub use self::routing::{RequestHookFn, Routing};
use routing::XorName;
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct ImmutableDataId(pub XorName);
impl ImmutableDataId {
pub fn name(&self) -> &XorName {
&self.0
}
}
#[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct MutableDataId(pub XorName, pub u64);
impl MutableDataId {
pub fn name(&self) -> &XorName {
&self.0
}
}
#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Deserialize, Serialize)]
pub enum DataId {
Immutable(ImmutableDataId),
Mutable(MutableDataId),
}
impl DataId {
pub fn immutable(name: XorName) -> Self {
DataId::Immutable(ImmutableDataId(name))
}
pub fn mutable(name: XorName, tag: u64) -> Self {
DataId::Mutable(MutableDataId(name, tag))
}
pub fn name(&self) -> &XorName {
match *self {
DataId::Immutable(ref id) => id.name(),
DataId::Mutable(ref id) => id.name(),
}
}
}