A simple wrapper for kqueue VNODE (for now) functionality to be asyncio compatible.
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
John-Mark Gurney 9e082a8487 add sample program testing if a directory can be watched pirms 9 mēnešiem
aiokq add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
misc add sample program testing if a directory can be watched pirms 9 mēnešiem
.gitignore add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
LICENSE.txt add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
Makefile add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
README.md add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
requirements.txt add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem
setup.py add a wrapper around kqueue for VNODE that is asyncio friendly. pirms 9 mēnešiem

README.md

aiokq

This is a module to make select.kqueue module compatible with programs that use asyncio.

The core of kqueue is already implemented via the core asyncio, but other parts of kqueue, like EVFILT_VNODE and EVFILT_PROC are not. This module is currently limited to supporting basic EVFILT_VNODE functionality.

Sample Usage

To watch a file for modification:

fp = open(fname)
async with aiokq.watch_file(fp) as wf:
	while True:
		data = fp.read()
		# do some work on data

		# wait for a modification
		await wf()

The with symantics is required in order to address the race where a write is issued between the registration and the time that you do the read. There is the possibility that a wakeup happens and there are no modifications due to this race.