1. async - an Introduction

Async is an Asynchronous Socket Library (C++) providing event-driven socket programming for Linux (or any other Os you get it to compile on).
The event callbacks (overridden virtual methods) are called from a loop (similar to GTK+'s gtk_main()), that uses select() to check for socket events.

If you do not like event-driven programming, that's fine, you can use async as an ordinary socket library too, and by calling socket->SetNonBlock(false), all I/O functions block as usual.

1.1 The async Class Structure

1.2 How do I get started?

1. Download sources (Click Download for a release, CVS if you want to live on the edge)
2. Unpack and run "make" (GNU make is the only tested, but please report your degree of success with other makes)
Now you have a library libasync.a and a bunch of include files in your source folder. Move them to a good location, or keep them there and use -L<src-dir> and -I<src-dir> (assuming you use gcc).
Read the headers to see what methods you have available etc. If you have any questions, consult the source or mail me at simon.brenner@home.se.
An example showing a basic TCP server is in async_test_server.cpp

1.3 Who made this nifty piece of library?

Me =)
Simon Brenner: simon.brenner@home.se