Print

Print


  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
-------------------------------------------------------------------------