Termisu::Reader
Constants
FD_SETSIZE = 1024
FD_SETSIZE limit for select(2). File descriptors >= this value cannot be used with select() and require poll() as a fallback.
Log = Termisu::Logs::Reader
MAX_EINTR_RETRIES = 100
Maximum retry attempts for EINTR before giving up. This prevents infinite loops in pathological signal storms.
Constructors
Instance methods
available?
Checks if data is available for reading.
Uses select(2) with zero timeout for non-blocking check.
read_byte
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.