In my hub software, a set of basic checks are run on the intial client connection (before the ISUP is sent by the hub) to see if the hub should continue the protocol negotation. An example of one of these checks would be to see if the number of clients has exceeded the specified max clients.
In the case of one of these checks failing (e.g. there are too many clients connected) an error is sent back to the client in the form of an ISTA with a fatal severity code. However it appears that this error is not displayed in the chat window of DC++. I am not sure if this is a bug in DC++, or I am misunderstanding the protocol. Is this the correct behavior or should I run the checks once the protocol has been initailized?
I have included a sample output of my hubsoftware so you can better understand what I'm talking about.
Code: Select all
[3/22/2006 1:39 AM] [Notice] Listening for clients on 127.0.0.1:8000.
[3/22/2006 1:39 AM] [Notice] [127.0.0.1] Connected
[3/22/2006 1:39 AM] [Data] [127.0.0.1] Sent: ISTA 211 Sorry,\sbut\sthe\shub\sis\sfull.\sPlease\stry\sagain\slater.
[3/22/2006 1:39 AM] [Data] [127.0.0.1] Sent: IQUI INN7
[3/22/2006 1:39 AM] [Notice] [127.0.0.1] Disconnected
Code: Select all
*** Connecting to adc://localhost:8000...
*** Connected
*** An existing connection was forcibly closed by the remote host.