Print

Print


Hi,

Gerardo Ganis wrote:
> 
>    Hi Pete,
> 
> 
>>It looks like most (all?) of the functionality is there in the XrdClientAdmin 
>>so presumably a "TXNetSystem" can be made. Fabrizio, what do you think?
> 
> 
>   This question already circulated a few weeks ago. What we need to
>   make TXNetSystem are the functionality to navigate directories 
>   (opendir, closedir, readdir ...) which are not yet in the xrootd
>   protocol. If I remember correctly Andy said that he will add the 
>   missing functionality so that we can make the admin interface.
> 

  I agree with this.

> 
>>Do you know of any backwards compatibility issues which will make it 
>>difficult for a TXNetSystem to be backwards compatible with rootd (using 
>>TNetSystem)?
> 
> 
>   I don't think the case will be much different from the the TXNetFile
>   one. It should be possible to use what we already use for the optimized
>   TXNetFile->TNetFile fallback, avoiding to open twice the connection.
>   Server-side should be ok, client-side we probably need an additional 
>   constructor to initialize the object using an open connection.
> 
> 

  For this, I believe that this could be unnecessary. Since the 
connection manager is a shared singleton, the choice of the right 
connection (if available) is done for free by it for any instance of a 
client (both admin and data access). Or did I miss something?


Fabrizio

>   Gerri
> 
> On Mon, 7 Mar 2005, Peter Elmer wrote:
> 
> 
>>  Hi Fons and Gerri,
>>
>>  I found another instance of a hard-coded check on "root://" in 
>>TSystem::FindHelper(...), namely:
>>
>>   // create new helper
>>   TRegexp re("^root.*:");  // also roots, rootk, etc
>>   TString pname = path;
>>   if (pname.Index(re) != kNPOS) {
>>      // rootd daemon ...
>>      helper = new TNetSystem(path);
>>   } else if (!strcmp(url.GetProtocol(), "http") &&
>>                     pname.BeginsWith("http")) {
>>      // http ...
>>
>>   } else if ((h = gROOT->GetPluginManager()->FindHandler("TSystem", path))) {
>>      if (h->LoadPlugin() == -1)
>>         return 0;
>>      helper = (TSystem*) h->ExecPlugin(0);
>>   }
>>
>>This should probably be changed to use the PluginManager to find TNetSystem.
>>It looks like most (all?) of the functionality is there in the XrdClientAdmin 
>>so presumably a "TXNetSystem" can be made. Fabrizio, what do you think?
>>   
>>  Presumably this can be done as part of the merge of TXNetFile with the posix 
>>client. Do you know of any backwards compatibility issues which will make it 
>>difficult for a TXNetSystem to be backwards compatible with rootd (using 
>>TNetSystem)?
>>
>>                                   Pete
>>
>>-------------------------------------------------------------------------
>>Peter Elmer     E-mail: [log in to unmask]      Phone: +41 (22) 767-4644
>>Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
>>-------------------------------------------------------------------------
>>