[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: more FTPAPI questions



Sender: Scott Klement <sk@xxxxxxxxxxxxxxxx>


Here is another question: the handle which is used to identify a session to the API is actually the socket descriptor. Internally a simple index number is used to *really* identify the session.

Thomas Raddatz was nice enough to contribute the code for the multiple-sessions that we use today. I, too, was surprised when he used the socket descriptor instead of the index as the handle that's passed from procedure to procedure.


He said it was to preserve compatibility (since previous versions of FTPAPI used the descriptor -- but this was because they didn't keep track of sessions.)

Not surprisingly that makes session selection code unnecessary complex. Thus I am asking, would it be bad to change that behavior? There won't be any changes necessary to the applications using FTPAPI, *unless* someone uses the socket descriptor to "mess" with the control connection manually. I cannot imagine anyone doing that

Personally, I don't think it's necessary to make the descriptor available to the caller just passing the index should be sufficient.



Yet another question: how about removing the old session-less APIs? Just clutters up the list of APIs IMHO. Objections? Maybe put them into a second (optional) SRVPGM for those who still need them?

I could see putting them into a separate module to reduce clutter. I don't think taking them out of the existing srvpgm and putting them into a separate one is a good idea -- everyone would have to re-bind their programs, if not completely re-write them. I've promised over and over that FTPAPI will remain backward compatible, and I don't see the value in breaking that compatibility.
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubsribe from the list send mail
to majordomo@xxxxxxxxxxxxx with the body: unsubscribe ftpapi mymailaddr
-----------------------------------------------------------------------