Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Kixunil/genio
/ types & classes
Types & classes
41 in github.com/Kixunil/genio
⨍
Functions
102
◇
Types & classes
41
↓ 3 callers
Class
WriteOnly
Forbids all operations except writes. One use case is to pass `Vec` as writer without fear that consumer would change previously written content.
src/util/write_only.rs:8
↓ 2 callers
Interface
Read
The Read trait allows for reading bytes from a source. Implementors of the Read trait are sometimes called 'readers'. Readers are defined by one req
src/lib.rs:54
↓ 2 callers
Interface
Write
A trait for objects which are byte-oriented sinks. Implementors of the `Write` trait are sometimes called 'writers'. Writers are defined by two requ
src/lib.rs:284
↓ 1 callers
Class
Bytes
Represents reader as iterator over bytes. Note: this iterator is unbuffered, so it's advised to use `BufReader` to improve performance.
src/util/bytes.rs:6
↓ 1 callers
Class
GenioIo
Wrapper providing `genio::Read + genio::Write` traits for `std::io::Read + std::io::Write` types.
src/std_impls.rs:295
↓ 1 callers
Class
GenioRead
Wrapper providing `genio::Read` trait for `std::io::Read` types.
src/std_impls.rs:242
↓ 1 callers
Class
GenioWrite
Wrapper providing `genio::Write` trait for `std::io::Write` types.
src/std_impls.rs:265
↓ 1 callers
Class
Restarting
Restarts all interrupted operations. All Read and Write operations that might fail with error indicating interruption (like EINTR) will be restarted
src/util/restarting.rs:11
↓ 1 callers
Class
StdIo
Wrapper providing `std::io::Read + std::io::Write` traits for `genio::Read + genio::Write` types.
src/std_impls.rs:203
↓ 1 callers
Class
StdRead
Wrapper providing `std::io::Read` trait for `genio::Read` types.
src/std_impls.rs:155
↓ 1 callers
Class
StdWrite
Wrapper providing `std::io::Write` trait for `genio::Write` types.
src/std_impls.rs:176
↓ 1 callers
Class
WriteOnlyPlaceholder
src/util/write_only.rs:38
Interface
AsRawBuf
Represents type that can serve as (possibly uninitialized) buffer
src/bufio.rs:129
Enum
BufError
src/error.rs:156
Interface
BufRead
A `BufRead` is a type of `Read`er which has an internal buffer, allowing it to perform extra ways of reading.
src/bufio.rs:12
Interface
BufReadProgress
When reading from reader, sometimes it's beneficial to read `n` bytes at once. However, BufRead itself doesn't guarantee that more bytes will be avail
src/bufio.rs:50
Interface
BufReadRequire
When reading from reader, sometimes it's beneficial to read `n` bytes at once. However, BufRead itself doesn't guarantee that more bytes will be avail
src/bufio.rs:63
Class
BufReaderRequire
src/bufio.rs:150
Interface
BufWrite
When writing, it might be better to serialize directly into a buffer. This trait allows such situation. This triat is `unsafe` because it optimizes b
src/bufio.rs:93
Interface
BufWriteRequire
This trait allows requiring buffer of specified size.
src/bufio.rs:118
Class
BufWriter
Wrapper that provides buffering for a writer.
src/bufio.rs:261
Class
BufferOverflow
src/error.rs:176
Class
Chain
Chains two readers. All reads are forwarded to the first reader until it returns end. Then all other reads are forwarded to the second reader.
src/util/chain.rs:8
Enum
ChainError
src/error.rs:71
Class
Empty
This reader is empty - always returns 0 from read method.
src/util/empty.rs:5
Enum
ExtendError
src/error.rs:167
Interface
ExtendFromReader
This trait is similar to slow one. The difference is that thanks to reader guaranteeing correctness, this one can use uninitialized buffer.
src/lib.rs:249
Interface
ExtendFromReaderSlow
Some types can be extended by reading from reader. The most well-known is probably `Vec`. It is possible to implement it manually, but it may be more
src/lib.rs:235
Enum
IOError
src/error.rs:12
Interface
InsertPlaceholder
Sometimes when serializing data, not all information is known until rest of the data is written. For example, when header containing size of the messa
src/util/placeholder.rs:23
Interface
IntoIntrError
Trait for custom error types that can also represent interruption.
src/error.rs:121
Enum
IntrError
src/error.rs:112
Interface
Placeholder
src/util/placeholder.rs:1
Enum
ReadExactError
src/error.rs:51
Interface
ReadExt
After reading to buffer, it's often useful to adjust the slice. Also, reading may be done in loop, which ends when reader has no more data. To make h
src/ext.rs:57
Interface
ReadOverwrite
This marker trait declares that the Read trait is implemented correctly, that means: 1. implementation of `read()` and `read_exact()` doesn't read fr
src/lib.rs:267
Enum
ReadResult
Result of successful read operation.
src/ext.rs:7
Class
Repeat
Reader that infinitely repeats single byte. It will never fail and never return 0.
src/util/repeat.rs:7
Class
RepeatBytes
Reader repeating a sequence of bytes infinitely.
src/util/repeat_bytes.rs:5
Class
Sink
Silently drops everything that is written to it.
src/util/sink.rs:5
Class
WriteTrunc
Truncates writing so that at most `n` bytes in total are written into the writer. Excess bytes are silently dropped.
src/util/write_trunc.rs:6