pub struct EnvironmentBuilder { /* private fields */ }
Expand description
Options for opening or creating an environment.
Implementations§
Source§impl EnvironmentBuilder
impl EnvironmentBuilder
Sourcepub fn open(&self, path: &Path) -> Result<Environment>
pub fn open(&self, path: &Path) -> Result<Environment>
Open an environment.
On UNIX, the database files will be opened with 644 permissions.
The path may not contain the null character, Windows UNC (Uniform Naming Convention) paths are not supported either.
Sourcepub fn open_with_permissions(
&self,
path: &Path,
mode: mdb_mode_t,
) -> Result<Environment>
pub fn open_with_permissions( &self, path: &Path, mode: mdb_mode_t, ) -> Result<Environment>
Open an environment with the provided UNIX permissions.
On Windows, the permissions will be ignored.
The path may not contain the null character, Windows UNC (Uniform Naming Convention) paths are not supported either.
Sourcepub fn set_flags(&mut self, flags: EnvironmentFlags) -> &mut EnvironmentBuilder
pub fn set_flags(&mut self, flags: EnvironmentFlags) -> &mut EnvironmentBuilder
Sets the provided options in the environment.
Sourcepub fn set_max_readers(
&mut self,
max_readers: c_uint,
) -> &mut EnvironmentBuilder
pub fn set_max_readers( &mut self, max_readers: c_uint, ) -> &mut EnvironmentBuilder
Sets the maximum number of threads or reader slots for the environment.
This defines the number of slots in the lock table that is used to track readers in the
the environment. The default is 126. Starting a read-only transaction normally ties a lock
table slot to the current thread until the environment closes or the thread exits. If
MDB_NOTLS
is in use, Environment::open_txn
instead ties the slot to the Transaction
object until it or the Environment
object is destroyed.
Sourcepub fn set_max_dbs(&mut self, max_dbs: c_uint) -> &mut EnvironmentBuilder
pub fn set_max_dbs(&mut self, max_dbs: c_uint) -> &mut EnvironmentBuilder
Sets the maximum number of named databases for the environment.
This function is only needed if multiple databases will be used in the environment. Simpler applications that use the environment as a single unnamed database can ignore this option.
Currently a moderate number of slots are cheap but a huge number gets
expensive: 7-120 words per transaction, and every Transaction::open_db
does a linear search of the opened slots.
Sourcepub fn set_map_size(&mut self, map_size: size_t) -> &mut EnvironmentBuilder
pub fn set_map_size(&mut self, map_size: size_t) -> &mut EnvironmentBuilder
Sets the size of the memory map to use for the environment.
The size should be a multiple of the OS page size. The default is 1048576 bytes. The size of the memory map is also the maximum size of the database. The value should be chosen as large as possible, to accommodate future growth of the database. It may be increased at later times.
Any attempt to set a size smaller than the space already consumed by the environment will be silently changed to the current size of the used space.
Trait Implementations§
Source§impl Clone for EnvironmentBuilder
impl Clone for EnvironmentBuilder
Source§fn clone(&self) -> EnvironmentBuilder
fn clone(&self) -> EnvironmentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for EnvironmentBuilder
impl Debug for EnvironmentBuilder
Source§impl PartialEq for EnvironmentBuilder
impl PartialEq for EnvironmentBuilder
impl Copy for EnvironmentBuilder
impl Eq for EnvironmentBuilder
impl StructuralPartialEq for EnvironmentBuilder
Auto Trait Implementations§
impl Freeze for EnvironmentBuilder
impl RefUnwindSafe for EnvironmentBuilder
impl Send for EnvironmentBuilder
impl Sync for EnvironmentBuilder
impl Unpin for EnvironmentBuilder
impl UnwindSafe for EnvironmentBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)