![[a daffodil]](graphics/daffodil.gif)
gicqd (currently) uses 4 databases: a user information database (userinfo),
a client database (client), a contact database (contact) and a message
database (message). userinfo stores all relevant information about each
user known to your server; for example, UIN, name, home page, etc. This
database is persistant, in that it does not go away when your server
exits (e.g., you kill it). The message database, which stores offline
messages to the users of your server, is also persistant. The remaining
two databases - client and contact - are not persistant; every time your
server exits, gicqd will remove these databases. The client database
holds information about all the connections currently thought to exist
(i.e., every client has registered with the server and has been
responding to pings). The contact database stores a list of expect and
notify pairs; this information is scanned by the server every time
someone changes status. For example, if UIN 100 "expects" UIN 10, then
the vector <10, 100> will be stored in the contact database.