This repository has been archived by the owner on Oct 1, 2023. It is now read-only.
4.31.0: IO changes
This release:
- adds
TCP\connect_nd_async()
,TCP\connect_async()
,TCP\Server
and equivalents inUnix\
- refactors file locking:
- removed the
_NON_BLOCKING
members of theLockType
enum - splits
lock()
intolock()
(blocking) andtryLockx()
(non-blocking) tryLockx()
will throw anAlreadyLockedException
ifflock()
fails withEWOULDBLOCK
- removed the
- refactors all other IO\ and File\ exceptions:
- adds OS\Exception, containing an
ErrorCode
;ErrorCode
contains constants used in Cerrno
orh_error
constants - removes per-operation exceptions except for locking, e.g.
File\WriteException
- adds convenience subclasses of
OS\Exception
for common cases, such asAlreadyExistsException
- adds OS\Exception, containing an
- adds
IO\SeekableHandle
, extended byFile\Handle
- adds
Debug\dump_async()
as a replacement for\var_dump()
: ifIO\request_output()
is used,STDOUT
is made non-blocking, so can truncate - adds optional timeouts to
readAsync()
,readLineAsync()
, andwriteAsync()
- contains several bugfixes