Log of /trunk/net/net/inc/TNetFile.h
Parent Directory
Revision
34444 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 16 02:17:39 2010 UTC (4 years, 6 months ago) by
pcanal
File length: 5278 byte(s)
Diff to
previous 24662
Avoid doing seeks on the physical file reprensation when it is not absolutely necessary
(i.e. it is not need if we are going to pick the data from our cache).
Introduce a SetOffset to change fOffset (i.e. the logical position in the file) without doing a lseek.
Introduce ReadBuffer(char * buf, Long64_t pos, Int_t len) to avoid the lseek when the data is in the cache.
See <http://savannah.cern.ch/bugs/?69845>
Revision
23091 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 9 15:04:27 2008 UTC (6 years, 9 months ago) by
rdm
File length: 5134 byte(s)
Copied from:
trunk/net/inc/TNetFile.h revision 23090
Diff to
previous 23027
moving the follwing directories to "net":
alien, auth, glite, globusauth, krb5auth, ldap, monalisa, net, netx,
rootd, rpdutils, srputils, xrootd
Revision
16198 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 4 00:45:03 2006 UTC (8 years, 4 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 5008 byte(s)
Diff to
previous 15265
From Gerri and me:
- don't use TUrl to strip off "file:" protocol string from file names
as this was also striping off everything after # and ? tokens, making
it impossible to e.g. stat local file names like .#bla#.
- make copy ctor and assignment operator private and not implemented.
Revision
15265 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 31 15:26:06 2006 UTC (8 years, 7 months ago) by
brun
Original Path:
trunk/net/inc/TNetFile.h
File length: 4957 byte(s)
Diff to
previous 15245
From Leandro Franco:
Implement new protocol in rootd and TNetFile to:
get multiple buffers from the specified list of offsets and lengths from
the currently open file and send it to the client in a single buffer.
Revision
15134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/net/inc/TNetFile.h
File length: 4900 byte(s)
Diff to
previous 14740
From Federico Carminati:
"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."
Revision
14740 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Apr 18 14:23:20 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4604 byte(s)
Diff to
previous 14111
From Gerri:
move non-persistent member fUrl that was in all derived classes to
TFile. It is accessable via the new method GetEndpointUrl() and will
return in the case of xrootd files the url of the node really having
the file (and not the generic redirector host id).
Also added code to better handle the case of many concurrent async
opens (keep a list of async open handlers).
Revision
14111 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 26 16:13:38 2006 UTC (8 years, 10 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4648 byte(s)
Diff to
previous 14074
From Gerri and Jan:
TXNetSystem::MakeDirectory:
send request for the path name and not for the full URL
TXNetSystem::ConsistentWith:
redirect to TNetSystem::ConsistentWith instead of TSystem::ConsistentWith
TNetSystem::ConsistentWith:
check also the port number
TNetSystem::InitRemoteEntity (new)
fill in user, host, port with the appropriate checks
Revision
13044 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Oct 27 16:36:38 2005 UTC (9 years, 2 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4439 byte(s)
Diff to
previous 12650
From Gerri:
This is the patch to import the new XROOTD and to enable TXNetSystem.
Three files:
- 'adds-netx.tgz' contains the new class TXNetSystem;
- 'xrootd-20051026-1709.src.tgz' is the tagged version of XROOTD
- 'cvs-patch' the modifications needed to integrate the two things in ROOT:
- config/rootrc.in:
add plugin info for TXNetSystem
- base/src/TSystem.cxx:
fix the number of arguments in loading the TXNetSystem plugin
- netx/inc/TXNetFile.h, .cxx:
make a couple of generic auxilliary methods static so that they can be
used by TXNetSystem
- net/inc/TNetFile.h, .cxx:
add Create method in TNetSystem, used by TXNetSystem to re-use the
open connection in case of rootd
- net/inc/TFTP.h, .cxx:
additional 'TSocket *' argument in the constructor to allow re-using an
open connection; default behaviour not changed
- netx/inc/LinkDef.h:
add pragma statement for TXNetSystem
- netx/Module.mk:
add support for building on an external XROOTD distribution
- xrootd/Module.mk:
changes to use the new version; still using the 'classic' configure
script:
will move to autoconf with the next patch
Revision
12650 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Sep 5 10:28:08 2005 UTC (9 years, 4 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4368 byte(s)
Diff to
previous 10798
from Andreas Peters:
I just added a function, GetEndpointUrl(), which allows you to find out
after redirection to which host you are redirected.
So, if you give a list of Alien URLs in a Dataset, the master can try to
open all files over the redirector and will end up at some hosts. It can
then replace the alien url with the url, where it could open the files.
This is cool, because you could set the connection time only to 2s and if
the master cannot open the file, it will just skip it in the dataset.
Or the master would trigger the staging over xroootd ... aso ...
so, if you could put this in soon, would be cool.
Revision
10798 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 15 17:48:03 2004 UTC (10 years, 1 month ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4201 byte(s)
Diff to
previous 10316
From Gerri:
Purpose:
- Add new Select functionality in TMonitor and TSocket
This functionality will be used for asyncronous threaded
reader of TXNetFile.
- Add support for creation of a TNetFile using an existing
connection (reuse connection that was already opened by
TXNetFile while remore side is rootd and not xrootd).
net/inc/TMonitor.h
- add new private member Bool_t fMainLoop to tell if the
monitoring has to be on the main loop or outside.
- add argument 'Bool_t mainloop' to the constructor, default kTRUE
- add new method SetInterest() to change interest mask of
a socket
- add new Select() method for the out-of-main-loop case
net/src/TMonitor.cxx
- add implemention for the new methods.
net/inc/TNetFile.h
- add new signature for method Create() to open a TNetFile
using an existing connection (used to optmize the rootd
fall back support in TXNetFile).
net/src/TNetFile.cxx
- add support for new Create()
net/inc/TPSocket.h
- add new constructor to setup a parallel socket using
an existing connection (used to optmize the rootd
fall back support in TXNetFile).
- add support for new constructor in method Init()
net/src/TPSocket.cxx
- add implentation of new ctor and related modifications
in Init().
net/inc/TSocket.h
- add new method Select() to monitor the socket outside
the main event loop
- add new method SetDescriptor() used in TXSocket to save
the TSocket part
- add new member fTcpWindowSize and corresponding getter
for use in the new TPSocket ctor
- add a 'TSocket *' argument to CreateAuthSocket (default 0)
to allow re-using of an existing connection
net/src/TSocket.cxx
- add new method Select() to monitor the socket outside
the main event loop
Revision
10316 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 15 16:55:07 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4133 byte(s)
Diff to
previous 9699
introduce a more complete TSystem::GetPathInfo() method that takes a
new FileStat_t structure as argument. This FileStat_t structure mimics the
common struct stat. This allows for full support of the file mode bits
(via the new enum EFileModeMask and the inline function R_ISDIR(), R_ISCHR(),
R_SIBLK(), R_ISREG(), R_ISLNK(), R_ISFIFO() and R_ISSOCK()).
The TSystem derived helper clsses for the remote file access protocols
have been updated too (all already supported struct stat in their POSIX
layers). Modified rootd to also support FileStat_t. With this change we
can get rid of machine dependent file permission checking code in several
places, notably in the TGFSContainer, which now can correctly display
file attributes for remote protocols.
Revision
9377 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 2 18:36:57 2004 UTC (10 years, 6 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 4215 byte(s)
Diff to
previous 8239
From Gerri:
Patch to support 'system' functionality via the rootd daemon, so one
can get file stat and access info and directory browsing via rootd.
- TNetFile.h, .cxx
New class TNetSystem inheriting from TSystem.
- net/inc/LinkDef.h
Added #pragma for TNetSystem
- TFTP.h, .cxx
New methods AccessPathName, GetPathInfo, GetDirEntry,
OpenDirectory, FreeDirectory
- TSystem.h, .cxx
New method ConsistentWith to allow different matching
criteria in the search for existing helpers (method
FindHelper)
- rootd.cxx
New functions RootdAccess, RootdFreeDir, RootdGetDirEntry,
RootdOpenDir
- MessageTypes.h
New messages kROOTD_OPENDIR, kROOTD_FREEDIR, kROOTD_DIRENTRY,
kROOTD_ACCESS
Revision
8239 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Feb 19 00:11:19 2004 UTC (10 years, 11 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 3153 byte(s)
Diff to
previous 7810
Big authentication patch by Gerri:
General purpose:
Add support for 'authenticated' sockets on client side
and prepare for support of server authenticated sockets.
Main changes:
o TSocket, TPsocket:
Added support of 'authenticated' sockets: authentication
is delegated to TSocket by calling a static method
CreateAuthSocket() returning a TSocket*.
TSocket is now the only class calling TAuthenticate.
o TFTP, TNetFile, TSlave:
modified to cope with new socket authentication scheme.
o TAuthDetails replaced by TSecContext containing:
- local authentication info
- expiration time
- pointer to a security context for the method (if any)
- information for cleanup (via TSecContextCleanup)
o A list of valid TSecContext has been added to TROOT,
accessible via gROOT->GetListOfSecContexts().
o THostAuth rewritten using arrays to avoid multiple use
of 'new'; functionality extended by the addition of
several new methods.
o TAuthenticate:
- Loading of information from .rootauthrc has been optimized;
this allowed to simplify method signatures and drop several
methods. Also collection and transmission of authentication
information from TSlave to TProofServ gets simplified by the
new scheme.
- Added support for server dependent directives in .rootauthrc
- Added check for changes in .rootauthrc each time a new
TAuthenticate is instantiated, so that changes in the file
are picked-up interactively.
- Checking for an existing TSecContext (previously TAuthDetails)
has been improved
- Improved diagnostics for SshAuth
- Enlarged support for authentication method indication in protocol:
UsrPwd: rootup/proofup
SRP: roots/proofs (already supported)
Krb5: rootk/proofk (already supported)
Globus: rootg/proofg
SSH: rootsh/proofsh
UigGid: rootug/proofug
o GlobusAuth.cxx, Krb5Auth.cxx, SRPAuth.cxx
- Adapted to new class TSecContext
- Added support for improved search for reusable TSecContext
- Drop globals used to store established security contexts
(saved in TSecContext) and related methods
o Automatic creation of <RootDir>/etc/system.rootauthrc from
compilation flags; this has priority on old envs
'Rootd.Authentication' and 'Proofd.Authentication' and is
superseded by $HOME/.rootauthrc
o Automatic creation of <RootDir>/etc/system.authdaemonrc from
compilation flags; this is superseded by $HOME/.rootauthrc
o rpdutils:
- several almost identical methods moved in from rootd/proofd
- several new methods to simplify manipulation of the
authentication tab file
- moved (and improved) check for running of sshd in RpdSshAuth,
performed only in case of failure (to avoid spurious messages
printed by sshd in /var/log/messages)
o proofd.cxx, rootd.cxx
- increased protocol version
- all initialization stuff (included authentication and
login) done via RpdInitSession
- postpone opening of parallels sockets after authentication
(to solve problem of Kerberos/Globus authentication with
parallel sockets)(rootd)
- Fixed problem with kerberos and globus authentication in rootd
with parallel sockets.
Revision
7810 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 30 13:16:51 2003 UTC (11 years ago) by
brun
Original Path:
trunk/net/inc/TNetFile.h
File length: 3251 byte(s)
Diff to
previous 7310
Mega patch to add support for large files (bigger than 2 GBytes)
----------------------------------------------------------------
==========>NEW VERSION 4.00/00 <===========
Because this new version has a considerable number of changes,
and new important additions by Philippe are scheduled for the coming days
we are starting a new major version 4.
-Support for large files
-Automatic schema evolution for foreign classes
-New data type Double32_t
Large files are currently tested only under Linux with gcc3.2.
Support for other systems will be gradually added in the coming days.
By default under Linux, files are created with the option LARGEFILE.
Note that when creating a Tree, the default maximum size for a Tree
is set to 1.9 GBytes. You can change this default value by calling
TTree::SetMaxTreeSize(Long64_t maxsize)
The implementation of this new feature has required changes in many places.
The files produced by this new version can still be read by old ROOT versions
if their size if smaller than 2 GBytes. And obviously, the new version
can digest old ROOT files.
WARNING: note the following backward incompatibility:
-TSystem::GetPathInfo has a new signature: (also TUnixSystem, TWinNTSystem, etc)
old: GetPathInfo(const char *path, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime);
new: GetPathInfo(const char *path, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime);
-TFile::SysSeek and TFile::SysStat have a new signature (also TNetFile, TWebFile, etc)
old: Int_t SysSeek(Int_t fd, Long_t offset, Int_t whence);
Int_t SysStat(Int_t fd, Long_t *id, Long_t *size, Long_t *flags, Long_t *modtime);
new: Long64_t SysSeek(Int_t fd, Long64_t offset, Int_t whence);
Int_t SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Long_t *modtime);
-TTree::SetMaxTreeSize has a new signature:
old: void TTree::SetMaxTreeSize(Int_t maxsize)
new: void TTree::SetMaxTreeSize(Long64_t maxsize)
All references to Seek_t have been replaced by Long64_t.
Revision
7310 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Sep 21 21:38:31 2003 UTC (11 years, 4 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 3246 byte(s)
Diff to
previous 7175
New TCastorFile: a TCastorFile is like a normal TNetFile except that it
obtains the remote node (disk server) via the CASTOR API, once the
disk server and the local file path are determined, the file will be
accessed via the rootd daemon. File names have to be specified like:
castor:/castor/cern.ch/user/r/rdm/bla.root
The patch level of libshift should be at least 1.5.x (which is the one
installed on all CERN machines in /usr/local).
The CASTOR HSM interface code is provided by Jean-Damien Durand of the
CASTOR team.
Revision
5776 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 10 02:19:46 2002 UTC (12 years, 1 month ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 2904 byte(s)
Diff to
previous 2464
new method TFile::ReOpen(Option_t *mode). Reopens a file with a different
access mode, like from READ to UPDATE or from NEW, CREATE, RECREATE, UPDATE
to READ. Thus the mode argument can be either "READ" or "UPDATE". The
method returns 0 in case of success, 1 in case mode did not change and
-1 in case of failure.
Revision
2464 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 26 14:24:24 2001 UTC (13 years, 7 months ago) by
rdm
Original Path:
trunk/net/inc/TNetFile.h
File length: 2712 byte(s)
Diff to
previous 1663
new method GetErrorCode(). Returns -1 in case the was no error and >=0 in
case there was an error in setting up the connection or during data transfer.
The error code matches the table gRootdErrStr[].
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/net/inc/TNetFile.h
File length: 2367 byte(s)
Diff to
previous 1071
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.