[−][src]Struct rkv::Manager
A process is only permitted to have one open handle to each Rkv environment. This manager exists to enforce that constraint: don't open environments directly.
By default, path canonicalization is enabled for identifying RKV instances. This
is true by default, because it helps enforce the constraints guaranteed by
this manager. However, path canonicalization might crash in some fringe
circumstances, so the no-canonicalize-path
feature offers the possibility of
disabling it. See: https://bugzilla.mozilla.org/show_bug.cgi?id=1531887
When path canonicalization is disabled, you must ensure an RKV environment is always created or retrieved with the same path.
Implementations
impl<'e, E> Manager<E> where
E: BackendEnvironment<'e>,
[src]
E: BackendEnvironment<'e>,
pub fn get<'p, P>(
&self,
path: P
) -> Result<Option<Arc<RwLock<Rkv<E>>>>, StoreError> where
P: Into<&'p Path>,
[src]
&self,
path: P
) -> Result<Option<Arc<RwLock<Rkv<E>>>>, StoreError> where
P: Into<&'p Path>,
Return the open env at path
, returning None
if it has not already been opened.
pub fn get_or_create<'p, F, P>(
&mut self,
path: P,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
[src]
&mut self,
path: P,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
Return the open env at path
, or create it by calling f
.
pub fn get_or_create_with_capacity<'p, F, P>(
&mut self,
path: P,
capacity: c_uint,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path, c_uint) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
[src]
&mut self,
path: P,
capacity: c_uint,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path, c_uint) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
Return the open env at path
with capacity
, or create it by calling f
.
pub fn get_or_create_from_builder<'p, F, P, B>(
&mut self,
path: P,
builder: B,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path, B) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
B: BackendEnvironmentBuilder<'e, Environment = E>,
[src]
&mut self,
path: P,
builder: B,
f: F
) -> Result<Arc<RwLock<Rkv<E>>>, StoreError> where
F: FnOnce(&Path, B) -> Result<Rkv<E>, StoreError>,
P: Into<&'p Path>,
B: BackendEnvironmentBuilder<'e, Environment = E>,
Return a new Rkv environment from the builder, or create it by calling f
.
pub fn try_close<'p, P>(
&mut self,
path: P,
options: CloseOptions
) -> Result<(), CloseError> where
P: Into<&'p Path>,
[src]
&mut self,
path: P,
options: CloseOptions
) -> Result<(), CloseError> where
P: Into<&'p Path>,
Tries to close the specified environment. Returns an error when other users of this environment still exist.
impl Manager<LmdbEnvironment>
[src]
pub fn singleton() -> &'static RwLock<Manager<LmdbEnvironment>>
[src]
impl Manager<SafeModeEnvironment>
[src]
pub fn singleton() -> &'static RwLock<Manager<SafeModeEnvironment>>
[src]
Auto Trait Implementations
impl<E> RefUnwindSafe for Manager<E>
[src]
impl<E> Send for Manager<E> where
E: Send + Sync,
[src]
E: Send + Sync,
impl<E> Sync for Manager<E> where
E: Send + Sync,
[src]
E: Send + Sync,
impl<E> Unpin for Manager<E>
[src]
impl<E> UnwindSafe for Manager<E>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,