<br><div class="gmail_quote">On Sat, Sep 8, 2012 at 2:49 PM, bearophile <span dir="ltr"><<a href="mailto:bearophileHUGS@lycos.com" target="_blank">bearophileHUGS@lycos.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Adil:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<a href="https://github.com/adilbaig/Epoll-D2" target="_blank">https://github.com/adilbaig/<u></u>Epoll-D2</a><br>
</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
ev.events = <a href="http://EPOLL_EVENTS.IN" target="_blank">EPOLL_EVENTS.IN</a> | EPOLL_EVENTS.HUP |    EPOLL_EVENTS.ERR;<br>
</blockquote>
<br>
In D enums are kind of (but not really) strongly typed, </blockquote><div><br></div><div>"are kind of (but not really) strongly typed" - I didnt know that. How?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
so writing them all in UPPERCASE is often a bad practice. So something more similar to this seems nicer:<br>
<br>
ev.events = EpollEvents.in | EpollEvents.hupxxxxx | EpollEvents.error;<br>
<br></blockquote><div><br></div><div>I'm trying to keep the learning curve to a minimum so some one using this library doesn't need to "double lookup" what it means. The original epoll #defines are EPOLL* (ex: EPOLLIN, EPOLLHUP, EPOLLONESHOT ..), hence the naming scheme EPOLL_EVENTS.* . But i do take your point. I'm thinking Events.* ; Events.IN, Events.HUP etc. Succinct and fairly obvious. Looks good? </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
epoll.add(int file_descriptor, ev);<br>
</blockquote>
<br>
Is this correct D syntax?<br>
<br></blockquote><div>I slipped into pseudo-code there. epoll works with file descriptors (including its own), not just sockets, hence i didn't write "epoll.add(listener_socket.handle(), ev)"</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Bye,<br>
bearophile<br>
</blockquote></div><br>