RSE: ftp quit after each transfer [message #24068] |
Wed, 25 June 2008 05:08  |
Eclipse User |
|
|
|
Originally posted by: tatsudoshi.criion.net
Hello,
I would like to ask if the ftp cmd QUIT means the client closes the
connection after each single transfer?
If that is the case, why is this so? I mean isn't there a risk of
getting the client a timeout for to many connection open and close cmds?
Also I would imagine this being a bit slower that keeping the connection
open and using a queue like a regular ftp client.
|
|
|
Re: RSE: ftp quit after each transfer [message #24385 is a reply to message #24068] |
Tue, 01 July 2008 12:59   |
Eclipse User |
|
|
|
Hello tatsudoshi,
The problem with having a single FTP connection (plus queue of
downloads) is, that while a download is going on, that connection is
unusable for commands like LIST() or getFile() -- which would
essentially lead to the whole Eclipse IDE becoming unresponsive.
Therefore, we always create a new, additional FTP connection for each
download - and close it down immediately when the download completes.
Note, that the "main" connection which we use for LIST() and getFile()
is always kept open, so RSE remains responsive; only for downloads and
uploads we fork new connections.
I agree, that we could reach some performance improvement by "pooling"
the download connections as well, such that we have e.g. 1 "control"
connection for LIST and getFile() always open, plus 3 "pooled"
connections for downloads and uploads which we also keep open in a
pooled fashion. Most FTP clients work that way, but it needs additional
work to get it implemented.
For SSH connections, we already have a request open for such connection
pooling: https://bugs.eclipse.org/bugs/show_bug.cgi?id=230831#c24
If we manage to implement the connection pooling logic "generic", we
might be able to re-use it for FTP.
Help on that effort is very welcome, so if you're interested in helping
out with a patch, please let us know! We'll help you where we can.
Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
tatsudoshi wrote:
> Hello,
>
> I would like to ask if the ftp cmd QUIT means the client closes the
> connection after each single transfer?
>
> If that is the case, why is this so? I mean isn't there a risk of
> getting the client a timeout for to many connection open and close cmds?
>
> Also I would imagine this being a bit slower that keeping the connection
> open and using a queue like a regular ftp client.
|
|
|
Re: RSE: ftp quit after each transfer [message #24508 is a reply to message #24385] |
Tue, 01 July 2008 13:50  |
Eclipse User |
|
|
|
Originally posted by: tatsudoshi.criion.net
Thanks for the answer. I can see the problem. I would very much like to
help but I have no experience with ftp or net code at all so I may not
of much help in the first place. Also I have not made Java code since I
graduated so it would take some time for me to get productive. But if
you think I can do any good please let me know.
|
|
|
Re: RSE: ftp quit after each transfer [message #575618 is a reply to message #24068] |
Tue, 01 July 2008 12:59  |
Eclipse User |
|
|
|
Hello tatsudoshi,
The problem with having a single FTP connection (plus queue of
downloads) is, that while a download is going on, that connection is
unusable for commands like LIST() or getFile() -- which would
essentially lead to the whole Eclipse IDE becoming unresponsive.
Therefore, we always create a new, additional FTP connection for each
download - and close it down immediately when the download completes.
Note, that the "main" connection which we use for LIST() and getFile()
is always kept open, so RSE remains responsive; only for downloads and
uploads we fork new connections.
I agree, that we could reach some performance improvement by "pooling"
the download connections as well, such that we have e.g. 1 "control"
connection for LIST and getFile() always open, plus 3 "pooled"
connections for downloads and uploads which we also keep open in a
pooled fashion. Most FTP clients work that way, but it needs additional
work to get it implemented.
For SSH connections, we already have a request open for such connection
pooling: https://bugs.eclipse.org/bugs/show_bug.cgi?id=230831#c24
If we manage to implement the connection pooling logic "generic", we
might be able to re-use it for FTP.
Help on that effort is very welcome, so if you're interested in helping
out with a patch, please let us know! We'll help you where we can.
Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
tatsudoshi wrote:
> Hello,
>
> I would like to ask if the ftp cmd QUIT means the client closes the
> connection after each single transfer?
>
> If that is the case, why is this so? I mean isn't there a risk of
> getting the client a timeout for to many connection open and close cmds?
>
> Also I would imagine this being a bit slower that keeping the connection
> open and using a queue like a regular ftp client.
|
|
|
Re: RSE: ftp quit after each transfer [message #575720 is a reply to message #24385] |
Tue, 01 July 2008 13:50  |
Eclipse User |
|
|
|
Originally posted by: tatsudoshi.criion.net
Thanks for the answer. I can see the problem. I would very much like to
help but I have no experience with ftp or net code at all so I may not
of much help in the first place. Also I have not made Java code since I
graduated so it would take some time for me to get productive. But if
you think I can do any good please let me know.
|
|
|
Powered by
FUDForum. Page generated in 0.03564 seconds