var searchIndex = {}; searchIndex["parking_lot"] = {"doc":"This library provides implementations of `Mutex`, `RwLock`, `Condvar` and\n`Once` that are smaller, faster and more flexible than those in the Rust\nstandard library. It also exposes a low-level API for creating your own\nefficient synchronization primitives.","items":[[3,"Once","parking_lot","A synchronization primitive which can be used to run a one-time\ninitialization. Useful for one-time initialization for globals, FFI or\nrelated functionality.",null,null],[3,"OnceState","","State yielded to the `call_once_force` method which can be used to query\nwhether the `Once` was previously poisoned or not.",null,null],[3,"Mutex","","A mutual exclusion primitive useful for protecting shared data",null,null],[3,"MutexGuard","","An RAII implementation of a "scoped lock" of a mutex. When this structure is\ndropped (falls out of scope), the lock will be unlocked.",null,null],[3,"Condvar","","A Condition Variable",null,null],[3,"WaitTimeoutResult","","A type indicating whether a timed wait on a condition variable returned\ndue to a time out or not.",null,null],[3,"RwLock","","A reader-writer lock",null,null],[3,"RwLockReadGuard","","RAII structure used to release the shared read access of a lock when\ndropped.",null,null],[3,"RwLockWriteGuard","","RAII structure used to release the exclusive write access of a lock when\ndropped.",null,null],[4,"UnparkResult","","Result of an `unpark_one` operation.",null,null],[13,"NoParkedThreads","","No parked threads were found for the given key.",0,null],[13,"UnparkedLast","","One thread was unparked and it was one in the queue.",0,null],[13,"UnparkedNotLast","","One thread was unparked but there are more in the queue.",0,null],[4,"RequeueOp","","Operation that `unpark_requeue` should perform.",null,null],[13,"Abort","","Abort the operation without doing anything.",1,null],[13,"UnparkOneRequeueRest","","Unpark one thread and requeue the rest onto the target queue.",1,null],[13,"RequeueAll","","Requeue all threads onto the target queue.",1,null],[5,"park","","Parks the current thread in the queue associated with the given key.",null,{"inputs":[{"name":"usize"},{"name":"fnmut"},{"name":"fnmut"},{"name":"fnmut"},{"name":"option"}],"output":{"name":"bool"}}],[5,"unpark_one","","Unparks one thread from the queue associated with the given key.",null,{"inputs":[{"name":"usize"},{"name":"fnmut"}],"output":{"name":"unparkresult"}}],[5,"unpark_all","","Unparks all threads in the queue associated with the given key.",null,{"inputs":[{"name":"usize"}],"output":{"name":"usize"}}],[5,"unpark_requeue","","Removes all threads from the queue associated with `key_from`, optionally\nunparks the first one and requeues the rest onto the queue associated with\n`key_to`.",null,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"fnmut"},{"name":"fnmut"}],"output":{"name":"usize"}}],[11,"fmt","","",0,null],[11,"eq","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",1,null],[11,"eq","","",1,null],[11,"clone","","",1,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"timed_out","","Returns whether the wait was known to have timed out.",2,null],[11,"new","","Creates a new condition variable which is ready to be waited on and\nnotified.",3,{"inputs":[],"output":{"name":"condvar"}}],[11,"notify_one","","Wakes up one blocked thread on this condvar.",3,null],[11,"notify_all","","Wakes up all blocked threads on this condvar.",3,null],[11,"wait","","Blocks the current thread until this condition variable receives a\nnotification.",3,null],[11,"wait_until","","Waits on this condition variable for a notification, timing out after\nthe specified time instant.",3,null],[11,"wait_for","","Waits on this condition variable for a notification, timing out after a\nspecified duration.",3,null],[11,"default","","",3,{"inputs":[],"output":{"name":"condvar"}}],[11,"new","","Creates a new mutex in an unlocked state ready for use.",4,{"inputs":[{"name":"t"}],"output":{"name":"mutex"}}],[11,"into_inner","","Consumes this mutex, returning the underlying data.",4,null],[11,"lock","","Acquires a mutex, blocking the current thread until it is able to do so.",4,null],[11,"try_lock","","Attempts to acquire this lock.",4,null],[11,"get_mut","","Returns a mutable reference to the underlying data.",4,null],[11,"default","","",4,{"inputs":[],"output":{"name":"mutex"}}],[11,"fmt","","",4,null],[11,"deref","","",5,null],[11,"deref_mut","","",5,null],[11,"drop","","",5,null],[11,"new","","Creates a new instance of an `RwLock<T>` which is unlocked.",6,{"inputs":[{"name":"t"}],"output":{"name":"rwlock"}}],[11,"into_inner","","Consumes this `RwLock`, returning the underlying data.",6,null],[11,"read","","Locks this rwlock with shared read access, blocking the current thread\nuntil it can be acquired.",6,null],[11,"try_read","","Attempts to acquire this rwlock with shared read access.",6,null],[11,"write","","Locks this rwlock with exclusive write access, blocking the current\nthread until it can be acquired.",6,null],[11,"try_write","","Attempts to lock this rwlock with exclusive write access.",6,null],[11,"get_mut","","Returns a mutable reference to the underlying data.",6,null],[11,"default","","",6,{"inputs":[],"output":{"name":"rwlock"}}],[11,"fmt","","",6,null],[11,"deref","","",7,null],[11,"drop","","",7,null],[11,"deref","","",8,null],[11,"deref_mut","","",8,null],[11,"drop","","",8,null],[11,"poisoned","","Returns whether the associated `Once` has been poisoned.",9,null],[11,"new","","Creates a new `Once` value.",10,{"inputs":[],"output":{"name":"once"}}],[11,"call_once","","Performs an initialization routine once and only once. The given closure\nwill be executed if this is the first time `call_once` has been called,\nand otherwise the routine will *not* be invoked.",10,null],[11,"call_once_force","","Performs the same function as `call_once` except ignores poisoning.",10,null],[11,"default","","",10,{"inputs":[],"output":{"name":"once"}}],[17,"ONCE_INIT","","Initialization value for static `Once` values.",null,null]],"paths":[[4,"UnparkResult"],[4,"RequeueOp"],[3,"WaitTimeoutResult"],[3,"Condvar"],[3,"Mutex"],[3,"MutexGuard"],[3,"RwLock"],[3,"RwLockReadGuard"],[3,"RwLockWriteGuard"],[3,"OnceState"],[3,"Once"]]}; initSearch(searchIndex);