+ o On normal server the channel count can go negative (like -3 channels).
+
+ o Change the sever to connect to another server from low ports (706)
+ and not from high ports. Currently we cannot do incoming connection
+ checking by remote port because the port is not fixed.
+
+ o Add a timeout to handling incoming JOIN commands. It should be
+ enforced that JOIN command is executed only once in a second or two
+ seconds. Now it is possible to accept n incoming JOIN commands
+ and process them without any timeouts. THis must be employed because
+ each JOIN command will create and distribute the new channel key
+ to everybody on the channel.
+
+ o Optimize the JOIN command in normal server. When router returns
+ command reply for JOIN it returns the new channel key. We however
+ still create new channel key when processing the pending JOIN command.
+ This works ok but is not necessary.
+
+ o Optimize the WHOIS and IDENTIFY commands to somehow check whether the
+ requested clients are on some channel that the server knows about. If
+ this is the case then the request is not needed to be forwarded to the
+ router. One specific optimization could be done with JOIN command.
+ If the previous command to the WHOIS and IDENTIFY commands are JOIN
+ command (from the client) it can be expected (though it must be
+ verified) that the client is resolving the users on the channel it just
+ joined. If server has done this once there is really no reason to
+ resolve it twice (from the router), it can reply directly back with
+ the information it knows. This is because the server would (will)
+ receive notifications from the router for users that are on a local