I’m working on a Gio library (interpreted “G-I/O”, pronounced “guyo” by me). The basic idea is to have a chainable GIOChannel GObject, which is roughly akin to the System.IO.Stream class in .NET.
The plan is to get this library mostly working (I’ve gotten the file stream to work, and have memory-backed/buffering streams, and text/binary/XML readers/writers to go), get it into CVS, and modify the Gnetwork library to use it as the base which GnetworkSocket will subclass. Network protocols can be implemented as stream objects, which chain to the parent stream (GnetworkSocket -> GnetworkHttpClient, for example).