No description
Find a file
Jake Leahy a1a17d0671
Few fixes to get asyncipc working with devel on windows (#44)
* 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
2023-06-05 23:43:29 +02:00
.github/workflows Add Github Actions CI. 2021-06-29 12:18:24 +03:00
asynctools Few fixes to get asyncipc working with devel on windows (#44) 2023-06-05 23:43:29 +02:00
doc Initial commit 2016-09-14 15:23:58 +03:00
tests Add test suite. 2021-06-29 12:18:31 +03:00
asynctools.nim asyncsync.nim added. 2018-02-07 22:51:01 +02:00
asynctools.nimble Add test suite. 2021-06-29 12:18:31 +03:00
LICENSE Create LICENSE 2016-09-19 16:18:22 +03:00
README.md Fix: pipe is syscall, not stdlib's function. 2018-03-12 05:21:05 +09:00

asynctools

Various asynchronous modules for Nim Language http://www.nim-lang.org.

Main features

asyncpipe.nim

Asynchronous pipes, using non-blocking pipe(2) on Linux/BSD/MacOS/Solaris and named pipes on Windows.

asyncipc.nim

Asynchronous inter-process communication, using non-blocking mkfifo(3) on Linux/BSD/MacOS/Solaris and named memory maps on Windows.

asyncproc.nim

Asynchronous process manipulation facility with asynchronous pipes as standart input/output/error handles, and asynchronous.

asyncdns.nim

Asynchronous DNS resolver, using default libresolv/libbind on Linux/BSD/MacOS/Solaris, and default dnsapi.dll on Windows.

asyncpty.nim

Asynchronous PTY communication, using pty mechanism of Linux/BSD/MacOS/Solaris, and named pipes on Windows.

asyncsync.nim

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>