Up: Top Level Design
The server application is a C program that is composed of
two basic functional units:
- Listening application.
- This is the main thread of
the program. The listening application will listen on the
csicq port and accept connections from users. Once a
connection has been established, it is being managed by a
new thread running the connection control
- Connection control application.
- Every user has a
thread in the server ``taking care'' of their
connection. The connection control is responsible for both
listening on the user port and forwarding the requests to
the ICQ network and listening on the network, forwarding
events from the ICQ network to the user.
The server uses three types of external mechanisms in order
to enable its correct operation.