* Multiple fixes to get asyncipc working with devel on windows - First was to make sure the object is first before casting to pointer so that we are actually accessing the data (On devel this calls a converter which returns the type - I was running into a nil access error on ORC which I fixed by using the stdlib getGlobalDispatcher() instead * Still use HackDispatcher when using the old runtime since it doesn't have any problems there This is because we need to access the handles which wasn't exported til recently so 1.2.12 needs the hack. But if you are using the new runtime then you are likely using a newer version of Nim * Just define getIoHandler for HackDispatcher instead of using when Simplifies it and feels less hacky Remove the type that Araq says sn't required |
||
|---|---|---|
| .github/workflows | ||
| asynctools | ||
| doc | ||
| tests | ||
| asynctools.nim | ||
| asynctools.nimble | ||
| LICENSE | ||
| README.md | ||
asynctools
Various asynchronous modules for Nim Language http://www.nim-lang.org.
Main features
Asynchronous pipes, using non-blocking pipe(2) on Linux/BSD/MacOS/Solaris and named pipes on Windows.
Asynchronous inter-process communication, using non-blocking mkfifo(3) on Linux/BSD/MacOS/Solaris and named memory maps on Windows.
Asynchronous process manipulation facility with asynchronous pipes as standart input/output/error handles, and asynchronous.
Asynchronous DNS resolver, using default libresolv/libbind on Linux/BSD/MacOS/Solaris, and default dnsapi.dll on Windows.
Asynchronous PTY communication, using pty mechanism of Linux/BSD/MacOS/Solaris, and named pipes on Windows.
Asynchronous synchronization primitives, such as Queue, Lock and Event.
Installation
The most recent version of the modules can be installed directly from GitHub repository
$ nimble install https://github.com/cheatfate/asynctools.git
Minimal requirements
- Nim language compiler 0.14.2
Documentation
Every module have documentation inside, you can obtain it via
$ nim doc <modulename>