pub trait DavLockSystem:
Debug
+ Send
+ Sync
+ DynClone {
// Required methods
fn lock(
&self,
path: &DavPath,
principal: Option<&str>,
owner: Option<&Element>,
timeout: Option<Duration>,
shared: bool,
deep: bool,
) -> LsFuture<'_, Result<DavLock, DavLock>>;
fn unlock(
&self,
path: &DavPath,
token: &str,
) -> LsFuture<'_, Result<(), ()>>;
fn refresh(
&self,
path: &DavPath,
token: &str,
timeout: Option<Duration>,
) -> LsFuture<'_, Result<DavLock, ()>>;
fn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: Vec<&str>,
) -> LsFuture<'_, Result<(), DavLock>>;
fn discover(&self, path: &DavPath) -> LsFuture<'_, Vec<DavLock>>;
fn delete(&self, path: &DavPath) -> LsFuture<'_, Result<(), ()>>;
}
Expand description
The trait that defines a locksystem.
Required Methods§
Sourcefn lock(
&self,
path: &DavPath,
principal: Option<&str>,
owner: Option<&Element>,
timeout: Option<Duration>,
shared: bool,
deep: bool,
) -> LsFuture<'_, Result<DavLock, DavLock>>
fn lock( &self, path: &DavPath, principal: Option<&str>, owner: Option<&Element>, timeout: Option<Duration>, shared: bool, deep: bool, ) -> LsFuture<'_, Result<DavLock, DavLock>>
Lock a node. Returns Ok(new_lock)
if succeeded,
or Err(conflicting_lock)
if failed.
Sourcefn unlock(&self, path: &DavPath, token: &str) -> LsFuture<'_, Result<(), ()>>
fn unlock(&self, path: &DavPath, token: &str) -> LsFuture<'_, Result<(), ()>>
Unlock a node. Returns Ok(())
if succeeded, Err (())
if failed
(because lock doesn’t exist)
Sourcefn refresh(
&self,
path: &DavPath,
token: &str,
timeout: Option<Duration>,
) -> LsFuture<'_, Result<DavLock, ()>>
fn refresh( &self, path: &DavPath, token: &str, timeout: Option<Duration>, ) -> LsFuture<'_, Result<DavLock, ()>>
Refresh lock. Returns updated lock if succeeded.
Sourcefn check(
&self,
path: &DavPath,
principal: Option<&str>,
ignore_principal: bool,
deep: bool,
submitted_tokens: Vec<&str>,
) -> LsFuture<'_, Result<(), DavLock>>
fn check( &self, path: &DavPath, principal: Option<&str>, ignore_principal: bool, deep: bool, submitted_tokens: Vec<&str>, ) -> LsFuture<'_, Result<(), DavLock>>
Check if node is locked and if so, if we own all the locks. If not, returns as Err one conflicting lock.