Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[geclipse-dev] File Transfer Service / 3rd Party Transfers

Hi all,

To introduce 3rd party transfers into gEclipse we need to extend model of
the gEclipse filesystem.

Currently all transfers done by gEclipse are done using the following
scheme: source -> local machine -> target. 3rd party transfers should
remove the local component from this workflow and allow using
service-specific methods to speed up transfer operations.

There will be an extension point where EFS plugins declare what
configurations of transfer they are able to perform, and with what
priority (the priority will indicate how good this service is, e.g.
ability to resume transfer when connection is lost should have a high
priority).

In this regard all current EFS implementations will have the basic service
-> local, and local -> service transfers with the lowest priority by
default. It's developers duty to provide implementation of the 3rd party
transfer if there is any for the given service type.

When gEclipse file system will be asked to perform a file transfer, first
it will look if there is any plugin that registered this transfer
configuration (e.g. SRM->SRM). If there is more then one option, the one
with the highest priority will be chosen. Obviously if no additional
transfer configuration was added, the default will be used (e.g.
SRM->local->SRM).

Before transfer begins, some informations about it will be stored in
persistent Eclipse repository. When g-Eclipse will be restarted (or after
crash), the 3rd party transfer mechanism will resume all the transfers
which didn't finish in the previous session. It will be an EFS plugin's
duty to check if the transfer was successful or not.

When transfer succeeds, information about it is removed from the
repository.

Any comments and questions are welcome.

--
Mateusz Pabiś



Back to the top