A simple wrapper for kqueue VNODE (for now) functionality to be asyncio compatible.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
John-Mark Gurney 9e082a8487 add sample program testing if a directory can be watched 9 місяці тому
aiokq add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
misc add sample program testing if a directory can be watched 9 місяці тому
.gitignore add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
LICENSE.txt add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
Makefile add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
README.md add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
requirements.txt add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому
setup.py add a wrapper around kqueue for VNODE that is asyncio friendly. 9 місяці тому

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.