Log of /trunk/net/net/src/TWebFile.cxx
Parent Directory
Revision
48992 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 28 15:26:26 2013 UTC (21 months, 3 weeks ago) by
rdm
File length: 42056 byte(s)
Diff to
previous 48687
From Lifeng Sun:
The attached patchset fixes a bunch of typo in the source:
0001-succes-success.patch
0002-preceed-preced.patch
0003-informations-information.patch
0004-childs-children.patch
0005-avaliable-available.patch
0006-writeable-writable.patch
0007-comand-command.patch
0008-unkown-unknown.patch
0009-wierd-weird.patch
0010-wheter-whether.patch
0011-unecessary-unnecessary.patch
0012-splitted-split.patch
0013-registerd-registered.patch
0014-recieve-receive.patch
0015-processsing-processing.patch
0016-ouput-output.patch
0017-mutiple-multiple.patch
0018-lenght-length.patch
0019-interupted-interrupted.patch
0020-independant-independent.patch
0021-inconsistant-inconsistent.patch
0022-expresion-expression.patch
0023-explicitely-explicitly.patch
0024-enviroment-environment.patch
0025-deafult-default.patch
0026-continous-continuous.patch
0027-completly-completely.patch
0028-commited-committed.patch
0029-choosen-chosen.patch
0030-backgroud-background.patch
0031-auxilliary-auxiliary.patch
0032-authentification-authentication.patch
0033-appropiate-appropriate.patch
0034-an-other-another.patch
0035-environement-environment.patch
0036-targetting-targeting.patch
0037-suppported-supported.patch
0038-paramater-parameter.patch
Revision
48687 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 25 15:14:20 2013 UTC (22 months, 4 weeks ago) by
rdm
File length: 42056 byte(s)
Diff to
previous 48397
From Fabio Hernandez:
The class TS3WebFile was modified to support also reading files hosted by
Google using the S3 protocol. Its TFile plugin was also modified to reflect
this. The class TS3HTTPRequest is new.
Revision
48397 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 23 17:00:50 2013 UTC (2 years ago) by
rdm
File length: 41716 byte(s)
Diff to
previous 44246
From Fabio Hernandez:
The enclosed patch includes a new class and some modifications to existing
classes. The new class TS3WebFile is an extension of TWebFile and belongs
to the net module. I deliberately did not modify the existing TAS3File.
I think that the name TS3WebFile reflects better the fact that this solution
is intended to be generic to several S3 servers and not limited to Amazon's,
in addition to the fact that it actually extends the capabilities of TWebFile.
Compared to the current support of S3 in ROOT (basically the class TAS3File),
the modifications in this patch include the improvements below:
- add support for using HTTPS : you can use different schemas for specifying
the underlying transport protocol to use "s3:", "s3http:", "s3https:"
["s3" uses HTTPS]. The current schema, namely "as3:", is supported for
backwards compatibility.
- extend support for other S3 service providers that do not offer the
virtual hosting functionality (currently only Amazon offers this)
- support the possibility of specifying user credentials on a per-file
basis or for all S3 files via environment variables
- honor the "NOPROXY" option when specified in the constructor
- exploit the capability of the S3 file server to provide partial
content responses to multi-range HTTP requests
Here are some examples of usages from the end user perspective:
TFile* f = TFile::Open("s3://s3.amazonaws.com/mybucket/path/to/my/file", "AUTH=<accessKey>:<secretKey> NOPROXY")
TFile* f = TFile::Open("s3://s3.amazonaws.com/mybucket/path/to/my/file") // Uses environmental variables for retrieving credentials
Limitations:
- we cannot efficiently detect that a S3 server is able to respond to
multi-range HTTP GET requests. Some servers, such as Amazon's, respond
to such kind of requests with the whole file contents. Other servers,
such as Huawei's, respond with the exact partial content requested.
Therefore, I added the possibility of configuring the behavior via the
ROOT configuration file: the identity of the servers known to correctly
support multi-range requests is configurable. If the server is known to
support this feature, ROOT will send multi-range requests, otherwise it
will issue multiple single-range GET requests, which is also the default
behavior.
- currently the virtual host syntax
"s3://mybucket.s3.amazonaws.com/path/to/my/file"
is not supported but can be added if this is considered useful
Revision
44246 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 15 09:10:37 2012 UTC (2 years, 8 months ago) by
rdm
File length: 41376 byte(s)
Diff to
previous 43125
From Alejandro Alvarez:
- TWebFile: checks the real read size
- TSSLSocket: iterates and calls SSL_read/SSL_peek as many times as needed
until the requested size is read
Revision
41327 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Oct 11 10:40:18 2011 UTC (3 years, 3 months ago) by
rdm
File length: 40145 byte(s)
Diff to
previous 40982
From Alejandro Alvarez Ayllon:
I asked some time ago about HTTPS support in ROOT, and there is none.
So after finding some time, I have written a TSSLSocket class that is
used by TWebFile to access files through HTTPS.
We want this feature to be available as we are developing - actually it
is in a quite advanced state already - a WebDAV endpoint for DPM servers.
And proxy/user certificates are needed to authenticate the client.
Revision
40982 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 22 15:40:29 2011 UTC (3 years, 4 months ago) by
rdm
File length: 39612 byte(s)
Diff to
previous 40671
From Tigran:
according rfc2046 in http reply with multipart content type
each part should be separated by:
--boundery delimer
TWebFile does not handle this correctly (did not expect two hyphens).
Attached patch fixes that. Tested with apache 2.0.29
Revision
40671 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 23 12:18:37 2011 UTC (3 years, 5 months ago) by
rdm
File length: 39632 byte(s)
Diff to
previous 39516
From Marcelo Sousa:
add two new classes to read ROOT files from the Amazon S3 and
Google Storage clouds. The access to these two services is via HTTP
requests and hence these two classes derive from TWebFile.
Revision
39516 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue May 31 18:22:17 2011 UTC (3 years, 7 months ago) by
pcanal
File length: 39594 byte(s)
Diff to
previous 35726
When running on Windows (on possibly on other platforms), the boundary
of the multipart web message is surrounded by quotes.
So instead of:
Content-Type: multipart/byteranges; boundary=chgs4uxnRx1Nn=x:Rl=E
we see:
Content-Type: multipart/byteranges; boundary="chgs4uxnRx1Nn=x:Rl=E"
However the calculation of the string to compare the boundary line
to was incorrect (contained the spurrious quotes) and was leading
to an infinite recursion/infinite loop.
Revision
34879 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Aug 20 09:30:06 2010 UTC (4 years, 5 months ago) by
brun
File length: 39390 byte(s)
Diff to
previous 34857
The previous fix in revision 34857 extendend the maximum bytes returned from 1024 to 8192 without increasing
the buffers declarations. As a consequence all teh nightlies failed.
ehis line, and those below, will be ignored--
M net/net/src/TWebFile.cxx
Revision
34712 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 3 09:27:19 2010 UTC (4 years, 5 months ago) by
rdm
File length: 39596 byte(s)
Diff to
previous 34679
totally rewrote redirection code and handle temporary and permanent redirection.
Can now read ATLAS dCache files via HttpDoor.
Revision
34679 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 30 15:44:52 2010 UTC (4 years, 5 months ago) by
rdm
File length: 38103 byte(s)
Diff to
previous 34444
Add support for the quirky dCache http door. It does not support the HEAD
command and uses \n instead of \r\n as response line separators.
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: 35251 byte(s)
Diff to
previous 34385
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
30365 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Sep 23 09:02:58 2009 UTC (5 years, 4 months ago) by
rdm
File length: 34101 byte(s)
Diff to
previous 30021
Optimizations in TWebFile. Improves performance especially for TTree::Map()
with about 35%. The following was done:
- cache large part for the the request strings (esp avoid recalculating
the auth base64 encoding).
- drastically optimize the reading of the response headers.
Revision
29777 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Aug 13 15:34:46 2009 UTC (5 years, 5 months ago) by
rdm
File length: 27101 byte(s)
Diff to
previous 28645
implement TWebSystem. We can use TSystem::AccessPathName() and GetPathInfo()
to check if a web file exsits and to get its size. Directory browsing is not
implemented yet.
Revision
27461 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 16 15:58:10 2009 UTC (5 years, 11 months ago) by
rdm
File length: 22638 byte(s)
Diff to
previous 26997
implement proxy support in TWebFile. The proxy URL can be sprcified either
via TWebFile::SetProxy() or via the shell variable http_proxy, as is being
used by wget, e.g.:
export http_proxy=http://pcsalo.cern.ch:3128
To bypass the proxy, the TWebFile ctor (or via TFile::Open()) supports the
option "NOPROXY".
Revision
26997 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 17 16:26:16 2008 UTC (6 years, 1 month ago) by
rdm
File length: 20211 byte(s)
Diff to
previous 23486
make TWebFile robust in case of errors like EADDRINUSE and EISCONN
that can happen if TWebFiles are created in high frequency (like in
PROOF Lite).
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: 19130 byte(s)
Copied from:
trunk/net/src/TWebFile.cxx revision 23090
Diff to
previous 22419
moving the follwing directories to "net":
alien, auth, glite, globusauth, krb5auth, ldap, monalisa, net, netx,
rootd, rpdutils, srputils, xrootd
Revision
22419 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 3 00:25:01 2008 UTC (6 years, 10 months ago) by
rdm
Original Path:
trunk/net/src/TWebFile.cxx
File length: 19130 byte(s)
Diff to
previous 22334
From Andrew Savchenko:
ROOT can not be compiled with gcc-4.3.
Some ROOT source files doesn't contain required #include directives,
for example, they use strlen(), but #include <string.h> is missed or
malloc() is used and #include <stdlib.h> is missed.
Earlier versions of gcc allowed some headers to be included implicitly,
but issued a warning (-Wimplicit-function-declaration). Newer one,
gcc-4.3 denies such silly behaviour: all required headers must be explicitly
included.
Attached patch fixes this. Also it fixes another issue, which disallows
ROOT to compile under gcc-4.3: C functions don't belong to namespace std,
so expressions like std::memcpy() are no longer valid and plain memcpy()
should be used instead.
Revision
15572 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 27 14:36:28 2006 UTC (8 years, 6 months ago) by
brun
Original Path:
trunk/net/src/TWebFile.cxx
File length: 8423 byte(s)
Diff to
previous 15463
-Rename class TFilePrefetch -> TFileCacheRead
-Rename class TTreeFilePrefetch -> TTreeCache
-Add new class TFileCacheWrite that implements automatic caching
when writing network files. This class replaces the previous class TCache.
-old TCache class deleted.
-TFileCacheRead can read buffers from the wite cache in TFileCacheWrite.
-As a result TFile::UseCache is obsolete. The function is kept for
backward compatibility.
-Remove references to TCache from TXMLFile, TSQLFile, TwebFile, TNetFile
-remove pointer TFile::fCache
-Add pointers TFile::fCacheRead and TFile::fCacheWrite
-Remove members fMaxCacheSize and fPageSize from TChain
NOTE that it is recommended to
rm -f base/src/*.d base/src/*.o
rm -f net/src/*.d net/src/*.o
rm -f tree/src/*.d tree/src/*.o
Revision
15384 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 9 01:21:43 2006 UTC (8 years, 7 months ago) by
rdm
Original Path:
trunk/net/src/TWebFile.cxx
File length: 8563 byte(s)
Diff to
previous 15236
added support in TNetFile and TWebFile ReadBuffers() for reading from
ZIP archive files. Also changed the mod_root2.c plugin to be able to
return the file size needed for finding the ZIP directory. ROOT zip files
published via Apache need to have the extension .rzip since .zip is already
handled by another handler.
Revision
15126 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon May 22 11:13:33 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/net/src/TWebFile.cxx
File length: 6193 byte(s)
Diff to
previous 15096
Add new class TFilePrefetch.
This class is a class under user control to specify a list of blocks
to be read in one single transaction.
This speeds up considerably the ROOt I/O in case one reads a remote file
and the network latency is high.
The class speeds up also remore I/O on a local area cluster.
Additional developments will follow shortly to take advantage
of the multi-block capability introduced by this class.
The new class is currently used only in TFile and TWebFile.
In TWebFile, the redundant data member fOffset has been removed. It is
already a member of the base class TFile.
Revision
15096 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 18 10:11:45 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/net/src/TWebFile.cxx
File length: 6100 byte(s)
Diff to
previous 15064
From Bertrand:
-fix a bug in the TWebFile constructor. One cannot call a virtual function (Init)
in a constructor. Explicitly call TWebFile::Init instead.
-fix a portability problem on Windows with the use of %lld. %I64d must be used instead.
Note that we have plenty of other places where a similar change is required.
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/src/TWebFile.cxx
File length: 5909 byte(s)
Diff to
previous 7827
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
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/src/TWebFile.cxx
File length: 5928 byte(s)
Diff to
previous 5783
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
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/src/TWebFile.cxx
File length: 5833 byte(s)
Diff to
previous 4257
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.
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.