DotNet FileSystemWatcher like library proposal.

Hello all, I am working on a library like DotNet FileSystemWatcher ( http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher%28VS.80%...) Basically the library monitors for file system changes and notifies throwing events. First, it will support the following platforms: - Windows NT 5.0 (Windows 2000) or higher using O/I Completion Port. - Linux 2.6.13 or higher using inotify. - FreeBSD 4.1 or higher using kqueue. - NetBSD 2.0 or higher using kqueue. - OpenBSD 3.6 higher using kqueue. (Not sure which version supports it) - MacOS/X 10.4 higher using kqueue. (Not sure which version supports it) Future supported platforms: - Linux from 2.4.0-test9 2.6.12 using dnotify. - Sun OpenSolaris using FEM API. Testing: I am testing the library on FreeBSD 7.2, Linux 2.6.31, Windows XP (Windows NT 5.1). I need help to test on older versions of these operating systems. Also in NetBSD, OpenBSD and mainly on MacOSX because I do not have the necessary hardware. I would like to include this library in Boost, I think would be useful. What do you think? If so, I would like to have a mentor (like GSoC) and experienced in Boost development. Thanks and regards, Fernando Pelliccioni --- References: - O/I Completion Port: http://msdn.microsoft.com/en-us/library/aa365198%28VS.85%29.aspx http://en.wikipedia.org/wiki/Input/output_completion_port - inotify: http://en.wikipedia.org/wiki/Inotify - kqueue: http://people.freebsd.org/~jlemon/papers/kqueue.pdf http://en.wikipedia.org/wiki/Kqueue - dnotify: http://en.wikipedia.org/wiki/Dnotify

On 29 April 2010 23:43, Fernando Pelliccioni <fpelliccioni@gmail.com> wrote:
Basically the library monitors for file system changes and notifies throwing events.
I think that'd definitely be a worthy addition. I'm curious how you see the interface. Perhaps something inspired by ASIO?

De Scott McMurray:
On 29 April 2010 23:43, Fernando Pelliccioni wrote:
Basically the library monitors for file system changes and notifies
throwing
events.
I think that'd definitely be a worthy addition.
I'm curious how you see the interface. Perhaps something inspired by ASIO?
In fact, I think that something for ASIO already exists. See this thread: http://thread.gmane.org/gmane.comp.lib.boost.asio.user/2699/

On Fri, 30 Apr 2010 21:28:46 +0200, Eric MALENFANT <Eric.Malenfant@sagem-interstar.com> wrote:
De Scott McMurray:
On 29 April 2010 23:43, Fernando Pelliccioni wrote:
Basically the library monitors for file system changes and notifies
throwing
events.
I think that'd definitely be a worthy addition.
I'm curious how you see the interface. Perhaps something inspired by ASIO?
In fact, I think that something for ASIO already exists. See this thread: http://thread.gmane.org/gmane.comp.lib.boost.asio.user/2699/
The current version supports Windows (based on IOCP) and Linux (based on inotify) and can be found at <http://www.highscore.de/boost/dir_monitor.zip>. As the directory monitor was released under the Boost Software License everyone is invited to add support for new platforms (the architecture should be self-explanatory; if not ask me :). Boris

Really I didn't think to create the File System Monitor like an ASIO extension. The design of the library is not thinking like ASIO. The events and handlers system is implemented using Boost.Function. Until today I did not know about the implementation of Boris. It would have been useful to know it. On Fri, Apr 30, 2010 at 4:28 PM, Eric MALENFANT < Eric.Malenfant@sagem-interstar.com> wrote:
De Scott McMurray:
On 29 April 2010 23:43, Fernando Pelliccioni wrote:
Basically the library monitors for file system changes and notifies
throwing
events.
I think that'd definitely be a worthy addition.
I'm curious how you see the interface. Perhaps something inspired by ASIO?
In fact, I think that something for ASIO already exists. See this thread: http://thread.gmane.org/gmane.comp.lib.boost.asio.user/2699/ _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Fernando Pelliccioni wrote: [Please don't top post.]
Eric.Malenfant@sagem-interstar.com> wrote:
De Scott McMurray:
On 29 April 2010 23:43, Fernando Pelliccioni wrote:
Basically the library monitors for file system changes and notifiesthrowing events.
I think that'd definitely be a worthy addition.
I'm curious how you see the interface. Perhaps something inspired by ASIO?
In fact, I think that something for ASIO already exists. See this thread: http://thread.gmane.org/gmane.comp.lib.boost.asio.user/2699/
Really I didn't think to create the File System Monitor like an ASIO extension.
The design of the library is not thinking like ASIO. The events and handlers system is implemented using Boost.Function.
Do you think that is a superior approach or just what had occurred to you? If the latter, do you like the Asio approach better?
Until today I did not know about the implementation of Boris. It would have been useful to know it.
That raises the question of how such tools should be managed. Should there be a place in the Wiki to refer to things built atop Asio that others might find useful? Should such tools be proposed, reviewed, and accepted as official parts of Asio? _____ Rob Stewart robert.stewart@sig.com Software Engineer, Core Software using std::disclaimer; Susquehanna International Group, LLP http://www.sig.com IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

----- Original Message ----- From: "Stewart, Robert" <Robert.Stewart@sig.com> To: <boost@lists.boost.org> Sent: Monday, May 03, 2010 12:48 PM Subject: Re: [boost] DotNet FileSystemWatcher like library proposal.
Fernando Pelliccioni wrote:
[Please don't top post.]
Eric.Malenfant@sagem-interstar.com> wrote: Until today I did not know about the implementation of Boris. It would have been useful to know it.
That raises the question of how such tools should be managed. Should there be a place in the Wiki to refer to things built atop Asio that others might find useful? Should such tools be proposed, reviewed, and accepted as official parts of Asio?
There is https://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction It will be enough to name the librari ASIO.XXX as it is already the case for https://svn.boost.org/trac/boost/wiki/LibrariesUnderConstruction#Boost.GIL.I... Best, _____________________ Vicente Juan Botet Escribá http://viboes.blogspot.com/

On Mon, May 3, 2010 at 7:48 AM, Stewart, Robert <Robert.Stewart@sig.com>wrote:
Fernando Pelliccioni wrote:
[Please don't top post.]
Eric.Malenfant@sagem-interstar.com> wrote:
De Scott McMurray:
On 29 April 2010 23:43, Fernando Pelliccioni wrote:
Basically the library monitors for file system changes and notifiesthrowing events.
I think that'd definitely be a worthy addition.
I'm curious how you see the interface. Perhaps something inspired by ASIO?
In fact, I think that something for ASIO already exists. See this thread: http://thread.gmane.org/gmane.comp.lib.boost.asio.user/2699/
Really I didn't think to create the File System Monitor like an ASIO extension.
The design of the library is not thinking like ASIO. The events and handlers system is implemented using Boost.Function.
Do you think that is a superior approach or just what had occurred to you? If the latter, do you like the Asio approach better?
I think that an approach such as ASIO is better. I'm changing the interface to resemble to the example sent by Boris.
Until today I did not know about the implementation of Boris. It would have been useful to know it.
That raises the question of how such tools should be managed. Should there be a place in the Wiki to refer to things built atop Asio that others might find useful? Should such tools be proposed, reviewed, and accepted as official parts of Asio?
I don't know. I think that if the interface is similar to ASIO, this new functionality should be included within it. I should talk to the ASIO creators/maintainers. Regards, Fernando Pelliccioni.

On Mon, 03 May 2010 14:33:01 +0200, Fernando Pelliccioni <fpelliccioni@gmail.com> wrote:
[...]I don't know. I think that if the interface is similar to ASIO, this new functionality should be included within it. I should talk to the ASIO creators/maintainers.
FYI: There is also the Asio mailing list at <http://sourceforge.net/mail/?group_id=122478> you might want to subscribe to. Boris
participants (6)
-
Boris Schaeling
-
Eric MALENFANT
-
Fernando Pelliccioni
-
Scott McMurray
-
Stewart, Robert
-
vicente.botet