libeio, Windows

Marc Lehmann schmorp at
Mon Jun 9 16:23:39 CEST 2008

On Thu, Jun 05, 2008 at 11:07:37PM -0600, Tony Arcieri <tony at> wrote:
> > I am sorry, but we must be talking past each other. libeio cannot give you
> > readyness notifications, and using it for I/O on sockets is simply broken
> > design.
> >
> Yeah, as I said before: my bad, libeio does not fit the Proactor pattern

You can repeat it as many times as you want, and it is still wrong: it
doesn't have anything to do with patterns or suitability.

libeio is well suited for files and other async I/O sources and libev is
well suited for sources that are non-blocking.

They don't "fit" any patterns because patterns have nothing to do with it.

Both "fit" the proactor pattern just fine. You are confused by too many
"patterns" and too little "reality" - "patterns" is how you structure your
program, libeio is a library you can use for that.

It can make sense to use the proactor pattern for both files and sockets for
example, but the underlyig implementation should be different. It has little
to do with "fitting" - if your problem fits in the proactor pattern, then by
all means use it.

But do not use libeio for socket I/O.

This really has nothing to do with patterns, but with reality of doing things
the right way...

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      pcg at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list