Skip to main content

ChangedJsonFile

Struct ChangedJsonFile 

Source
pub struct ChangedJsonFile<R>{ /* private fields */ }
Expand description

A wrapper around JsonFile which can be used to read the contents of a file and only return the contents if they have changed since the last read.

Implementations§

Source§

impl<R> ChangedJsonFile<R>

Source

pub fn new<P: AsRef<Path>>( path: P, unblocker: impl Into<Arc<dyn Unblocker>>, ) -> Result<ChangedJsonFile<R>, LogFSError>

Opens the file at the provided path and returns a ChangedJsonFile which can be used to read the contents of the file.

Source

pub fn content(&mut self) -> Result<Option<R>, LogFSError>

Returns the current contents of the file as a deserialized object, or None if the contents haven’t changed since the last read or if the file is empty (which happens when the game clears the file before it starts to write.)

Source

pub async fn content_async(&mut self) -> Result<Option<R>, LogFSError>

Available on crate feature asynchronous only.

The same as ChangedJsonFile::content, but asynchronous.

Auto Trait Implementations§

§

impl<R> Freeze for ChangedJsonFile<R>

§

impl<R> RefUnwindSafe for ChangedJsonFile<R>
where R: RefUnwindSafe,

§

impl<R> Send for ChangedJsonFile<R>
where R: Send,

§

impl<R> Sync for ChangedJsonFile<R>
where R: Sync,

§

impl<R> Unpin for ChangedJsonFile<R>
where R: Unpin,

§

impl<R> UnsafeUnpin for ChangedJsonFile<R>

§

impl<R> UnwindSafe for ChangedJsonFile<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where U: Into<T>,

Source§

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

Source§

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.