Inter-Client Exchange Library (source files)
libice_source-1.0.10-1-source
The ICE library utilizes callbacks to process incoming messages. Using callbacks allows ProtocolSetup messages and authentication to happen behind the scenes. An additional benefit is that messages never need to be buffered up by the library when the client blocks waiting for a particular message.