I seem to have not explained myself clear enough.
The problem is not in the transfer itself and I've already confiremed that by doing .dccstat repeatedly while downloading. The 500kb compressed userfile is being transffered successfully. Here's is a sample log: (bot and channel names are fake)
Code: Select all
[13:06] Received challenge from HubX... sending response ...
[13:06] Linked to HubX.
*** Linked to HubX
[13:06] Downloading user file from HubX
[13:07] Ignored masks for channel(s): #channel1 #channel2
[13:07] Userfile loaded, unpacking...
[13:07] Userlist transfer complete; switched over.
This is the part where the bot queues all dcc commands I issue into memory so even .dccstat won't work and it will only perform my commands after it timeouts from the hub. So it hangs like this while _still_ performing its binds (meaning I can see putlog response from the loaded scripts and also mode changes in channel) then after a while this happens:
Code: Select all
[13:15] Ping timeout: HubX
*** Ping timeout: HubX (lost 76 bots and 11 users)
[13:15] (Userlist download aborted.)
[13:16] Received challenge from HubX... sending response ...
[13:16] Linked to HubX.
[13:16] Downloading user file from HubX
[13:17] Ignored masks for channel(s): #channel1 #channel2
[13:17] Userfile loaded, unpacking..
[13:17] Userlist transfer complete; switched over.
This cycle can go on for hours until it finally gets it right without timing out from the hub.
I will stress it again: This only happens when the bot is connected to an IRC server. When it's not connected and linking then there isn't even a single second of hang - and that is the weird part.
Also, I'd like to add that I've tried transfering the userfile without using the compress module and there isn't any difference, simply the d/l process takes a bit longer which is expected but hang time still occurs after switch-over.