The text below is still in progress, just posting it here to be able to discuss it.
The idea for this extension is to provide compatibility between ADC and NMDC users, to allow them to search and download from eachother.
Xfer will provide an NMDC connection with sufficient data to be able to receive or initiate an ADC client-client connection and receive and send ADC search results. So it should only be about upgrading NMDC, not downgrading ADC. A client supporting Xfer will also support Xfer in NMDC. Basically a client supporting Xfer should send ADC-traffic to ADC users.
Proposed syntax:
$Xfer <sourcesid> <targetsid> <fieldname><data>
Fieldnames:
PD = PID (will be sent to the hub only to check CID, hub will filter it)
ID = CID
NM = NMDC command
AD = ADC command
In FlexHub the client SID in NMDC can be retrieved from the $Lock:
EXTENDEDPROTOCOL_FLEXHUB_MULTIPROTOCOL_<SID>
The PID and CID are known to the client, so we can mimic an ADC PID/CID validation.
Searching:
Replying to searches (active):
Replying to searches (passive):
Client connections (incoming):
Client connections (outgoing):