var searchIndex = {}; searchIndex["netio"] = {"doc":"Alternative implementation of many functions found in [`std::io`][stdio],\nbut suitable for blocking IO over networks.","items":[[0,"strategy","netio::buf_redux_reexport","Types which can be used to tune the behavior of `BufReader`.",null,null],[8,"ReadStrategy","netio::buf_redux_reexport::strategy","Trait for types which `BufReader` can consult to determine when it should read more data into the\nbuffer.",null,null],[10,"should_read","","Returns `true` if the buffer should read more data, `false` otherwise.",0,null],[3,"IfEmpty","","A `ReadStrategy` which tells the buffer to read more data only when empty.",null,null],[3,"LessThan","","A `ReadStrategy` which returns `true` if there is fewer bytes in the buffer\nthan the provided value.",null,null],[12,"0","","",1,null],[8,"MoveStrategy","","Trait for types which `BufReader` can consult to determine when it should move data\nto the beginning of the buffer.",null,null],[10,"should_move","","Returns `true` if the buffer should move the data down to the beginning,\n`false` otherwise.",2,null],[3,"AtEndLessThan1k","","A `MoveStrategy` which tells the buffer to move data if there is no more room at the tail\nof the buffer, *and* if there is less than **1 KiB** of valid data in the buffer.",null,null],[3,"AtEndLessThan","","A `MoveStrategy` which triggers if there is no more room at the tail at the end of the buffer,\n*and* there are fewer valid bytes in the buffer than the provided value.",null,null],[12,"0","","",3,null],[3,"NeverMove","","A `MoveStrategy` which always returns `false`. Use this to restore original\n`std::io::BufReader` behavior.",null,null],[6,"DefaultReadStrategy","netio::buf_redux_reexport","",null,null],[6,"DefaultMoveStrategy","","",null,null],[3,"BufReader","","The *pièce de résistance:* a drop-in replacement for `std::io::BufReader` with more functionality.",null,null],[3,"Unbuffer","","A `Read` adapter for a consumed `BufReader` which will empty bytes from the buffer before reading from\n`inner` directly. Frees the buffer when it has been emptied. ",null,null],[3,"Retry","netio","An adapter that retries reading/writing operations of the underlying reader or writer.",null,null],[3,"Take","","Adapter which limits the bytes read from / written to an underlying reader / writer.",null,null],[3,"Repeat","","An adapter that restarts from the beginning after EOF is reached.",null,null],[3,"Bytes","","An iterator over `u8` values of a reader.",null,null],[3,"Chars","","An iterator over the `char`s of a reader.",null,null],[3,"Split","","An iterator over the contents of an instance of `BufRead` split on a\nparticular byte.",null,null],[3,"Collect","","A reader adapter over an iterator of readers",null,null],[5,"copy","","Copies the entire content of a buffered reader into a writer.",null,{"inputs":[{"name":"r"},{"name":"w"}],"output":{"name":"result"}}],[5,"copy_until","","Copies the content of a buffered reader into a writer until a delimiter is reached.",null,{"inputs":[{"name":"r"},{"name":"w"},{"name":"u8"}],"output":{"name":"result"}}],[11,"grow_buf","netio::buf_redux_reexport","",4,null],[11,"new","netio","",5,{"inputs":[{"name":"i"}],"output":{"name":"retry"}}],[11,"read","","",5,null],[11,"read_to_end","","",5,null],[11,"read_to_string","","",5,null],[11,"read_exact","","",5,null],[11,"write","","",5,null],[11,"flush","","",5,null],[11,"write_all","","",5,null],[11,"write_fmt","","",5,null],[11,"fill_buf","","",5,null],[11,"consume","","",5,null],[11,"read_until","","",5,null],[11,"read_line","","",5,null],[11,"grow_buf","","",5,null],[11,"new","","",6,{"inputs":[{"name":"i"}],"output":{"name":"repeat"}}],[11,"read","","",6,null],[11,"fill_buf","","",6,null],[11,"consume","","",6,null],[11,"new","","",7,{"inputs":[{"name":"t"},{"name":"u64"}],"output":{"name":"take"}}],[11,"limit","","Returns the number of bytes that can be read before this instance will return EOF.",7,null],[11,"read","","",7,null],[11,"fill_buf","","",7,null],[11,"consume","","",7,null],[11,"grow_buf","","",7,null],[11,"write","","",7,null],[11,"flush","","",7,null],[11,"new","","",8,{"inputs":[{"name":"r"}],"output":{"name":"bytes"}}],[11,"next","","",8,null],[11,"new","","",9,{"inputs":[{"name":"i"}],"output":{"name":"chars"}}],[11,"next","","",9,null],[11,"new","","",10,{"inputs":[{"name":"i"},{"name":"u8"}],"output":{"name":"split"}}],[11,"next","","",10,null],[11,"read","","",11,null],[11,"fill_buf","","",11,null],[11,"consume","","",11,null],[11,"from_iter","","",11,{"inputs":[{"name":"ii"}],"output":{"name":"self"}}],[0,"mock","","",null,null],[3,"Limited","netio::mock","",null,null],[3,"Throttled","","",null,null],[12,"inner","","",12,null],[12,"rate","","",12,null],[8,"MockRead","","",null,null],[11,"limited","","",13,null],[11,"throttled","","",13,null],[8,"MockWrite","","",null,null],[11,"limited","","",14,null],[11,"limit","","",15,null],[11,"read","","",15,null],[11,"write","","",15,null],[11,"flush","","",15,null],[11,"read","","",12,null],[6,"BufReader","netio","Alternative to `std::io::BufReader`",null,null],[8,"Stream","","Base trait for generic stream operations",null,null],[11,"by_ref","","Creates a "by reference" adaptor for this stream.",16,null],[11,"take","","Creates an adapter which will limits the total number of bytes of this stream.",16,null],[11,"retry","","Transforms this stream into a stream that automatically retries on interrupts",16,null],[8,"Read","","Alternative to `std::io::Read`",null,null],[10,"read","","Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read.",17,null],[10,"chain","","Creates an adaptor which will chain this stream with another.",17,null],[11,"buffer","","Creates a buffered reader with default capacity and default strategies",17,null],[11,"repeat","","Transforms this reader into a reader that automatically restarts from the beginning after\nEOF is reached",17,null],[8,"Write","","Alternative to `std::io::Write`",null,null],[10,"write","","Write a buffer into this object, returning how many bytes were written.",18,null],[10,"flush","","Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination.",18,null],[11,"write_all","","Attempts to write an entire buffer into this write.",18,null],[8,"BufRead","","Alternative to `std::io::BufRead`",null,null],[10,"fill_buf","","Fills the internal buffer of this object, returning the buffer contents.",19,null],[10,"consume","","Tells this buffer that `amt` bytes have been consumed from the buffer,\nso they should no longer be returned in calls to `read`.",19,null],[11,"read_to_end","","Read all bytes until EOF in this source, placing them into `buf`.",19,null],[11,"skip_to_end","","Skip all bytes until EOF in this source.",19,null],[11,"read_exact","","Read the exact number of bytes required to fill `buf`.",19,null],[11,"bytes","","Transforms this [`BufRead`][bufread] instance to an [`Iterator`][iterator] over its bytes.",19,null],[11,"read_until","","Read all bytes into a buffer until a delimiter is reached.",19,null],[11,"skip_until","","Skips all bytes until a delimiter is reached.",19,null],[11,"split","","Returns an iterator over the contents of this reader split on a delimiter.",19,null],[8,"BufReadGrow","","A `BufReadGrow` is a `BufRead`er that has the ability to read additional data even if the\nbuffer is not empty.",null,null],[10,"grow_buf","","Grows the internal buffer of this object by at least one byte,\nreturning the buffer contents.",20,null],[11,"fill_buf_min","","Fills the internal buffer to at least the specified amount,\nreturning the buffer contents.",20,null],[11,"read_until2","","Read all bytes into a buffer until two consecutive delimiters are reached.",20,null],[11,"skip_until2","","Skip all bytes until two consecutive delimiters are reached.",20,null],[11,"fill_buf_str","","Fills the internal buffer of this object, returning the buffer content as a string",20,null],[11,"grow_buf_str","","Grows the internal buffer of this object by at least one char,\nreturning the buffer content as a string",20,null],[11,"read_to_string","","Read all bytes until EOF in this source, placing them into a string.",20,null],[11,"read_line","","Read all bytes until a CRLF is reached, and append them to the provided buffer.",20,null],[11,"chars","","Transforms this reader to an `Iterator` over `char`s.",20,null],[11,"default","netio::buf_redux_reexport::strategy","",21,{"inputs":[],"output":{"name":"ifempty"}}],[11,"fmt","","",21,null],[11,"should_read","","",21,null],[11,"default","","",1,{"inputs":[],"output":{"name":"lessthan"}}],[11,"fmt","","",1,null],[11,"should_read","","",1,null],[11,"default","","",22,{"inputs":[],"output":{"name":"atendlessthan1k"}}],[11,"fmt","","",22,null],[11,"should_move","","",22,null],[11,"default","","",3,{"inputs":[],"output":{"name":"atendlessthan"}}],[11,"fmt","","",3,null],[11,"should_move","","",3,null],[11,"default","","",23,{"inputs":[],"output":{"name":"nevermove"}}],[11,"fmt","","",23,null],[11,"should_move","","",23,null],[11,"new","netio::buf_redux_reexport","Create a new `BufReader` wrapping `inner`, with a buffer of a\ndefault capacity and default strategies.",4,{"inputs":[{"name":"r"}],"output":{"name":"bufreader"}}],[11,"with_capacity","","Create a new `BufReader` wrapping `inner` with a capacity\nof *at least* `cap` bytes and default strategies.",4,{"inputs":[{"name":"usize"},{"name":"r"}],"output":{"name":"bufreader"}}],[11,"with_strategies","","Create a new `BufReader` wrapping `inner`, with a default buffer capacity\nand with the given `ReadStrategy` and `MoveStrategy`.",4,{"inputs":[{"name":"r"},{"name":"rs"},{"name":"ms"}],"output":{"name":"bufreader"}}],[11,"with_cap_and_strategies","","Create a new `BufReader` wrapping `inner`, with a buffer capacity of *at least*\n`cap` bytes and the given `ReadStrategy` and `MoveStrategy`.",4,{"inputs":[{"name":"r"},{"name":"usize"},{"name":"rs"},{"name":"ms"}],"output":{"name":"bufreader"}}],[11,"move_strategy","","Apply a new `MoveStrategy` to this `BufReader`, returning the transformed type.",4,null],[11,"read_strategy","","Apply a new `ReadStrategy` to this `BufReader`, returning the transformed type.",4,null],[11,"move_strategy_mut","","Accessor for updating the `MoveStrategy` in-place. Must be the same type.",4,null],[11,"read_strategy_mut","","Accessor for updating the `ReadStrategy` in-place. Must be the same type.",4,null],[11,"make_room","","Move data to the start of the buffer, making room at the end for more\nreading.",4,null],[11,"grow","","Grow the internal buffer by *at least* `additional` bytes. May not be\nquite exact due to implementation details of the buffer's allocator.",4,null],[11,"get_buf","","Get the section of the buffer containing valid data; may be empty.",4,null],[11,"available","","Get the current number of bytes available in the buffer.",4,null],[11,"capacity","","Get the total buffer capacity.",4,null],[11,"get_ref","","Get an immutable reference to the underlying reader.",4,null],[11,"get_mut","","Get a mutable reference to the underlying reader.",4,null],[11,"into_inner","","Consumes `self` and returns the inner reader only.",4,null],[11,"into_inner_with_buf","","Consumes `self` and returns both the underlying reader and the buffer,\nwith the data moved to the beginning and the length truncated to contain\nonly valid data.",4,null],[11,"unbuffer","","Consumes `self` and returns an adapter which implements `Read` and will\nempty the buffer before reading directly from the underlying reader.",4,null],[11,"read_into_buf","","Unconditionally perform a read into the buffer, calling `.make_room()`\nif appropriate or necessary, as determined by the implementation.",4,null],[11,"read","","",4,null],[11,"fill_buf","","",4,null],[11,"consume","","",4,null],[11,"fmt","","",4,null],[11,"seek","","Seek to an offset, in bytes, in the underlying reader.",4,null],[11,"is_buf_empty","","Returns `true` if the buffer still has some bytes left, `false` otherwise.",24,null],[11,"buf_len","","Returns the number of bytes remaining in the buffer.",24,null],[11,"into_inner","","Return the underlying reader, finally letting the buffer die in peace and join its family\nin allocation-heaven.",24,null],[11,"read","","",24,null],[11,"fmt","","",24,null]],"paths":[[8,"ReadStrategy"],[3,"LessThan"],[8,"MoveStrategy"],[3,"AtEndLessThan"],[3,"BufReader"],[3,"Retry"],[3,"Repeat"],[3,"Take"],[3,"Bytes"],[3,"Chars"],[3,"Split"],[3,"Collect"],[3,"Throttled"],[8,"MockRead"],[8,"MockWrite"],[3,"Limited"],[8,"Stream"],[8,"Read"],[8,"Write"],[8,"BufRead"],[8,"BufReadGrow"],[3,"IfEmpty"],[3,"AtEndLessThan1k"],[3,"NeverMove"],[3,"Unbuffer"]]}; initSearch(searchIndex);