SemiQuickList - For the NMDC Hub

Technical discussion about the NMDC and <a href="http://dcpp.net/ADC.html">ADC</A> protocol. The NMDC protocol is documented in the <a href="http://dcpp.net/wiki/">Wiki</a>, so feel free to refer to it.

Moderator: Moderators

Locked
TasMan
Posts: 196
Joined: 2003-01-03 08:31
Location: Canada
Contact:

SemiQuickList - For the NMDC Hub

Post by TasMan » 2003-03-08 21:23

Well I suppose if you use the NMDC hub, you could find this useful...

NMDC wastes a lot of bandwidth when you log on for the $NickList and the $GetINFOs, not to mention processing time.

I've made a "solution" WITHOUT modifing the hub software. Just by using a script.

Code: Select all

Sub DataArival(curUser, sCurData)
  If sCurData = "$GetQuickList|" Then
    Dim oUser, sOpList

    For Each oUser In colUsers
      curUser.SendData oUser.sMyInfoString & "|"

      If oUser.bOperator Then sOpList = CStr(sOpList) & oUser.sName & "$$"
    Next

    curUser.SendData "$OpList " & CStr(sOpList) & "|"
  End If
End Sub

Sub NewUserConnected(curUser)
  curUser.SendData "$Supports SemiQuickList|"
End Sub

Sub OpConnected(curUser)
  curUser.SendData "$Supports SemiQuickList|"
End Sub
The client will recieve a supports. Technically it shouldn't recieve one without an EXTENDEDPROTOCOL lock, but it shouldn't present too many problems.

Assuming the client supports SemiQuickList, the user will send $GetQuickList| in place of $GetNickList|. Then it will respond in the normal QuickList fashion, of sending the MyINFOs and then the OpList.

GetINFO and NickList are removed. And the resources needed to process all of those GetINFOs is freed.


Post any comments you might have, though I've mentioned this in the QuickList topic on DCStats (http://forum.dcstats.net/showthread.php ... 4#post8004)

Locked