[phobos] std.event / event loop for phobos

Johannes Pfau johannespfau at googlemail.com
Thu Sep 9 01:56:24 PDT 2010


 On 09.09.2010 07:19, Masahiro Nakagawa wrote:
> On Wed, 08 Sep 2010 23:53:13 +0900, Johannes Pfau
> <johannespfau at googlemail.com> wrote:
>
>>  On 08.09.2010 16:02, Masahiro Nakagawa wrote:
>>>
>>> I am thinking about std.event.
>>> This module supports system-dependent APIs(kqueue, epoll, etc...) and
>>> abstraction layer.
>>>
>> I think the best solution would be a wrapper / abstraction layer for
>> libev. All of the mentioned APIs (kqueue, epoll, select...) are broken
>> in some way, so writing a new event loop system in D will be painful and
>> it will take a long time until it gets stable. Also libev already has
>> support for more event sources (timer, periodic, signal, stat, ...).
>
> libev is a good library. I often use rev in Ruby programming.
>
> Can Phobos include this library?
>
libev is using the "Simplified BSD License"
(http://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29).
This license puts no restrictions on using / linking to the library, so
using boost phobos + libev + (any license) user code should not be a
problem. The following clause could be a problem though:
------------------------------------------------------------------------------------
Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
------------------------------------------------------------------------------------
I know Andrei and Walter want to avoid such clauses for the standard
library.
But I think libev could be shipped independent of phobos, so maybe
something like "If you want to use std.event you also need to have the
libev library installed" could work. Then Phobos would not have to
include the libev license. Projects using std.event and libev would
still have to include it, though.

There has also been talk about including libcurl which has a similar
clause in the license. So maybe a general decision is needed.

-- 
Johannes Pfau



More information about the phobos mailing list