var searchIndex = {}; searchIndex["rb"] = {"doc":"","items":[[3,"SpscRb","rb","A *thread-safe* Single-Producer-Single-Consumer RingBuffer",null,null],[3,"Producer","","Producer view into the ring buffer.",null,null],[3,"Consumer","","Consumer view into the ring buffer.",null,null],[4,"RbError","","Ring buffer errors.",null,null],[13,"Full","","",0,null],[13,"Empty","","",0,null],[6,"Result","","Result type used inside the module.",null,null],[8,"RB","","Managment interface for the ring buffer.",null,null],[10,"clear","","Resets the whole buffer to the default value of type `T`.\nThe buffer is empty after this call.",1,null],[10,"skip_pending","","Skips all pending values.\nTechnically it sets the read pointer of the producer to the position\nof the conumers write pointer.",1,null],[10,"skip","","Skips `cnt` number of elements.",1,null],[10,"producer","","Creates a *producer* view inside the buffer.",1,null],[10,"consumer","","Creates a *consumer* view inside the buffer.",1,null],[8,"RbInspector","","RbInspector provides non-modifying operations on the ring buffer.",null,null],[10,"is_empty","","Returns true if the buffer is empty.",2,null],[10,"is_full","","Returns true if the buffer is full.",2,null],[10,"capacity","","Returns the total capacity of the ring buffer.\nThis is the size with which the buffer was initialized.",2,null],[10,"slots_free","","Returns the number of values that can be written until the buffer until it is full.",2,null],[10,"count","","Returns the number of values from the buffer that are available to read.",2,null],[8,"RbProducer","","Defines *write* methods for a producer view.",null,null],[10,"write","","Stores the given slice of data into the ring buffer.\nReturns the number of written elements or an error.",3,null],[10,"write_blocking","","Works analog to `write` but blocks until there are as much\nfree slots in the ring buffer as there are elements in the given slice.",3,null],[8,"RbConsumer","","Defines *read* methods for a consumer view.",null,null],[10,"get","","Fills the given slice with values or, if the buffer is empty, does not modify it.\nThis method does not change the state of the buffer, this means that the read pointer\nisn't changed if you call `get`. Consecutive calls to this method are idempotent, i.e. they\nwill fill the given slice with the same data.\nUsing `get` can be beneficial to `read` when a successive call has failed and you want to\ntry again with same data. You can use `skip` to move the read pointer i.e. mark the values\nas read after the call succeeded.",4,null],[10,"read","","Fills the given slice with values or, if the buffer is empty, does not modify it.\nReturns the number of written values or an error.",4,null],[10,"read_blocking","","Works analog to `read` but blocks until it can read enough elements to fill\nthe given buffer slice.",4,null],[11,"fmt","","",0,null],[11,"fmt","","",0,null],[11,"new","","",5,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[11,"clear","","",5,null],[11,"skip_pending","","",5,null],[11,"skip","","",5,null],[11,"producer","","",5,null],[11,"consumer","","",5,null],[11,"is_empty","","",5,null],[11,"is_full","","",5,null],[11,"capacity","","",5,null],[11,"slots_free","","",5,null],[11,"count","","",5,null],[11,"write","","",6,null],[11,"write_blocking","","",6,null],[11,"get","","",7,null],[11,"read","","",7,null],[11,"read_blocking","","",7,null]],"paths":[[4,"RbError"],[8,"RB"],[8,"RbInspector"],[8,"RbProducer"],[8,"RbConsumer"],[3,"SpscRb"],[3,"Producer"],[3,"Consumer"]]}; initSearch(searchIndex);