fsmonitor improvements

This commit is contained in:
Dominik Picheta 2014-02-13 04:04:00 -08:00
parent 3b08c1de4e
commit 0a56ed1320
1 changed files with 6 additions and 6 deletions

View File

@ -131,17 +131,17 @@ The Nimrod standard library currently lacks a YAML parsing module. YAML is a pop
**Mentor:** Araq ([@Araq](http://github.com/Araq)), dom96 ([@dom96](http://github.com/dom96))
___
#### Enhance the filesystem monitoring module "fsmonitor.nim"
**Desirable skills:** Knowledge of the Microsoft Windows api.
#### Enhance the filesystem monitoring module ``fsmonitor.nim``
**Desirable skills:** Knowledge of the Microsoft Windows API.
**Description**:
Nimrod's standard library currently has a fsmonitor module which allows the programmer to monitor the filesystem for directory and file changes. This module currently only supports Linux.
Nimrod's standard library currently has a [``fsmonitor``](http://build.nimrod-lang.org/docs/fsmonitor.html) ([source code](https://github.com/Araq/Nimrod/blob/devel/lib/pure/fsmonitor.nim)) module which allows the programmer to monitor the filesystem for directory and file changes. The problem is that this module currently only supports Linux.
**Tasks**:
* Allow the fsmonitor module to work on Microsoft Windows by using native APIs to gather information about changes in monitored files and directories.
* Revise the fsmonitor module API to decouple Unix/Linux file handle paradigms (such as using the poll method in the sockets module) from the API, allowing easier implementations of multiple native backends.
* Integrate the fsmonitor module's polling mechanism into the new asynchronous IO modules.
* Allow the ``fsmonitor`` module to work on Microsoft Windows by using native APIs to gather information about changes in monitored files and directories.
* Revise the ``fsmonitor`` module API to decouple Unix/Linux file handle paradigms from the API, allowing easier implementations of multiple native backends.
* Integrate the ``fsmonitor`` module's polling mechanism into the new [asynchronous IO modules](https://github.com/Araq/Nimrod/blob/newasync/lib/pure/asyncio2.nim).
**Difficulty:** Easy