Termisu::Reader
Inherits Reference / Object
Constants
FD_SETSIZE limit for select(2). File descriptors >= this value cannot be used with select() and require poll() as a fallback.
Maximum retry attempts for EINTR before giving up. This prevents infinite loops in pathological signal storms.
Constructors
Creates a new reader for the given file descriptor.
fd- File descriptor to read frombuffer_size- Internal buffer size (default: 128 bytes)
Instance methods
Checks if data is available for reading.
Uses select(2) with zero timeout for non-blocking check.
Reads a single byte from the input.
Returns nil if no data is available or on EOF.
This is a non-blocking operation when the terminal is in raw mode.
Reads exactly count bytes from the input.
Returns nil if fewer than count bytes are available.
Blocks until all bytes are read or timeout occurs.
Waits for data with a timeout.
timeout_ms- Timeout in milliseconds
Returns true if data becomes available, false on timeout.