var searchIndex = {}; searchIndex["maidsafe_utilities"] = {"doc":"# MaidSafe Utilities","items":[[0,"thread","maidsafe_utilities","Utilities related to threading.",null,null],[3,"RaiiThreadJoiner","maidsafe_utilities::thread","A RAII style thread joiner. The destruction of an instance of this type will block until\nthe thread it is managing has joined.",null,null],[11,"new","","Create a new instance of self-managing thread joiner",0,{"inputs":[{"name":"joinhandle"}],"output":{"name":"raiithreadjoiner"}}],[11,"drop","","",0,null],[0,"log","maidsafe_utilities","Allows initialising the env_logger with a standard message format.",null,null],[5,"init","maidsafe_utilities::log","This function initialises the env_logger.",null,{"inputs":[{"name":"bool"}],"output":null}],[0,"event_sender","maidsafe_utilities","Utilities related to event-subsetting.",null,null],[3,"EventSender","maidsafe_utilities::event_sender","This structure is coded to achieve event-subsetting. Receivers in Rust are blocking. One cannot\nlisten to multiple receivers at the same time except by using `try_recv` which again is bad for\nthe same reasons spin-lock based on some sleep is bad (wasting cycles, 50% efficient on an\naverage etc.).",null,null],[4,"EventSenderError","","Errors that can be returned by EventSender",null,null],[13,"EventSendError","","Error sending the event subset",1,null],[13,"CategorySendError","","Error sending the event category",1,null],[4,"MaidSafeEventCategory","","Category of events meant for a MaidSafe observer listening to both, routing and crust events",null,null],[13,"CrustEvent","","Used by Crust to indicate a Crust Event has been fired",2,null],[13,"RoutingEvent","","Used by Routing to indicated a Routing Event has been fired",2,null],[6,"MaidSafeObserver","","Observer that Crust (and users of Routing if required) must allow to be registered",null,null],[11,"fmt","","",1,null],[11,"new","","Create a new instance of `EventSender`. Category type, category value and EventSubset type\nare baked into `EventSender` to disallow user code from misusing it.",3,{"inputs":[{"name":"sender"},{"name":"category"},{"name":"sender"}],"output":{"name":"eventsender"}}],[11,"send","","Fire an allowed event/signal to the observer.",3,null],[11,"clone","","",3,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[0,"serialisation","maidsafe_utilities","Functions for serialisation and deserialisation",null,null],[4,"SerialisationError","maidsafe_utilities::serialisation","Wrapper for Serialisation Errors. This is present because cbor code paths don't always return a\nResult - they return an Option too.",null,null],[13,"CborError","","Encapsulated Cbor Error",4,null],[13,"UnsuccessfulDecode","","To convert Option to a Result when deserialisation is unsuccessful and returns an\n`Option::None`",4,null],[5,"serialise","","Function to serialise an Encodable type",null,{"inputs":[{"name":"t"}],"output":{"name":"result"}}],[5,"deserialise","","Function to deserialise a Decodable type",null,null],[11,"fmt","","",4,null],[11,"from","","",4,{"inputs":[{"name":"cborerror"}],"output":{"name":"self"}}],[14,"unwrap_result!","maidsafe_utilities","A replacement for calling `unwrap()` on a `Result`.",null,null],[14,"unwrap_option!","","A replacement for calling `unwrap()` on an `Option`.",null,null],[14,"thread!","","This macro is intended to be used in all cases where we want to spawn a new thread of execution\nand if that is not possible then panic out.",null,null]],"paths":[[3,"RaiiThreadJoiner"],[4,"EventSenderError"],[4,"MaidSafeEventCategory"],[3,"EventSender"],[4,"SerialisationError"]]}; initSearch(searchIndex);