[][src]Trait mycelium_index::prelude::Fetchable

pub trait Fetchable {
    fn deserialize_l<T>(f_path: &PathBuf) -> Result<T, Error>
    where
        T: Fetchable + Default + DeserializeOwned
;
fn serialize_l(&self) -> Result<Vec<u8>, Error>
    where
        Self: Serialize + Fetchable
; fn deserialize_bin<T>(f_path: &PathBuf) -> Result<T, Error>
    where
        T: Default + DeserializeOwned
, { ... }
fn deserialize_ron<T>(f_path: &PathBuf) -> Result<T, Error>
    where
        T: Default + DeserializeOwned
, { ... }
fn serialize_bin(&self) -> Result<Vec<u8>, Error>
    where
        Self: Serialize
, { ... }
fn serialize_ron(&self) -> Result<Vec<u8>, Error>
    where
        Self: Serialize
, { ... }
fn save(&self) -> Result<(), Error>
    where
        Self: Serialize + Container + Fetchable
, { ... }
fn save_x(
        &self,
        tag: &str,
        file_name: &str,
        path: &PathBuf
    ) -> Result<(), Error>
    where
        Self: Serialize + Fetchable
, { ... }
fn save_y(&self, path: &PathBuf) -> Result<(), Error>
    where
        Self: Serialize + Fetchable
, { ... }
fn fetch<T>(
        tag: &str,
        file_name: &str,
        file_path: &PathBuf
    ) -> Result<T, Error>
    where
        T: Fetchable + Default + DeserializeOwned
, { ... }
fn fetch_or_default<T>(file_path: &PathBuf) -> Result<(T, bool), Error>
    where
        T: Fetchable + Default + DeserializeOwned
, { ... }
fn fetch_self(&self) -> Self
    where
        Self: Default + DeserializeOwned + Fetchable + Container
, { ... } }

Fetch logic will create a default for T where it does not yet exist. Default serialize/deserialze will use bincode.

Required methods

fn deserialize_l<T>(f_path: &PathBuf) -> Result<T, Error> where
    T: Fetchable + Default + DeserializeOwned

fn serialize_l(&self) -> Result<Vec<u8>, Error> where
    Self: Serialize + Fetchable

Loading content...

Provided methods

fn deserialize_bin<T>(f_path: &PathBuf) -> Result<T, Error> where
    T: Default + DeserializeOwned

Default deserializer bincode. Panics if deserialize fails.

fn deserialize_ron<T>(f_path: &PathBuf) -> Result<T, Error> where
    T: Default + DeserializeOwned

fn serialize_bin(&self) -> Result<Vec<u8>, Error> where
    Self: Serialize

Default serializer bincode. Panics if serialization fails.

fn serialize_ron(&self) -> Result<Vec<u8>, Error> where
    Self: Serialize

fn save(&self) -> Result<(), Error> where
    Self: Serialize + Container + Fetchable

fn save_x(
    &self,
    tag: &str,
    file_name: &str,
    path: &PathBuf
) -> Result<(), Error> where
    Self: Serialize + Fetchable

fn save_y(&self, path: &PathBuf) -> Result<(), Error> where
    Self: Serialize + Fetchable

fn fetch<T>(tag: &str, file_name: &str, file_path: &PathBuf) -> Result<T, Error> where
    T: Fetchable + Default + DeserializeOwned

fn fetch_or_default<T>(file_path: &PathBuf) -> Result<(T, bool), Error> where
    T: Fetchable + Default + DeserializeOwned

Fetch an item serialized to file

Arguments

  • file_path - Reference to path buffer of file of type T

Returns

  • Result<(T, bool)> - Returns tuple containing T and a bool value indicating if a config was retrieved or default. True for default config use.

fn fetch_self(&self) -> Self where
    Self: Default + DeserializeOwned + Fetchable + Container

Loading content...

Implementors

impl Fetchable for Config[src]

Loading content...