Associate this device with a given handle.
Return the name of this conduit.
expose superclass definition also
Throw an IOException noting the last error.
Return the name of this device.
Return a preferred size for buffering conduit I/O.
Windows-specific code.
Windows-specific code.
Allow adjustment of standard IO handles.
Return the underlying OS handle of this Conduit.
Release the underlying file. Note that an exception is not thrown on error, as doing so can induce some spaggetti into error handling. Instead, we need to change this to return a bool instead, so the caller can decide what to do.
Read a chunk of bytes from the file into the provided array. Returns the number of bytes read, or Eof where there is no further data.
Write a chunk of bytes to the file from the provided array. Returns the number of bytes written, or Eof if the output is no longer available.
Unix-specific code.
Allow adjustment of standard IO handles.
Return the underlying OS handle of this Conduit.
Release the underlying file.
Read a chunk of bytes from the file into the provided array. Returns the number of bytes read, or Eof where there is no further data.
Write a chunk of bytes to the file from the provided array. Returns the number of bytes written, or Eof if the output is no longer available.
Conduit for specifically handling the console devices. This takes care of certain implementation details on the Win32 platform.
Note that the console is fixed at UTF8 for both linux and Win32. The latter is actually UTF16 native, but it's just too much hassle for a developer to handle the distinction when it really should be a no-brainer. In particular, the Win32 console functions don't work with redirection. This causes additional difficulties that can be ameliorated by asserting console I/O is always UTF8, in all modes.