[root] / trunk / net / net / inc / TMessage.h Repository:
ViewVC logotype

Log of /trunk/net/net/inc/TMessage.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 44490 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 00:52:20 2012 UTC (2 years, 7 months ago) by rdm
File length: 4729 byte(s)
Diff to previous 41637
Give access to fInfos data member. Fixes issue #94297.

Revision 41637 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 28 15:34:35 2011 UTC (3 years, 2 months ago) by rdm
File length: 4674 byte(s)
Diff to previous 41632
change TUdpSocket to TUDPSocket to be consistent with naming conventions.

Revision 41632 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 28 14:17:49 2011 UTC (3 years, 2 months ago) by rdm
File length: 4674 byte(s)
Diff to previous 39696
add TUdpSocket as friend.

Revision 39696 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 13 21:35:34 2011 UTC (3 years, 7 months ago) by pcanal
File length: 4649 byte(s)
Diff to previous 35752
From David Dagenhart:

Implement an option to allow ROOT to use the LZMA compression
algorithm to compress data instead of the ZLIB compression algorithm.
LZMA compression typically results in smaller files, but takes more
CPU time to compress data. To use the new feature, the external XZ
package must be installed when ROOT is configured and built:

Download 5.0.3 from here http://tukaani.org/xz/
and make sure to configure with fPIC:
   ./configure CFLAGS='-fPIC'

Then the client C++ code must call routines to explicitly request LZMA
compression.

ZLIB compression is still the default.

Setting the Compression Level and Algorithm:

There are three equivalent ways to set the compression level and 
algorithm. For example, to set the compression to the LZMA algorithm
and compression level 5.

1. TFile f(filename, option, title);
   f.SetCompressionSettings(ROOT::CompressionSettings(ROOT::kLZMA, 5));

OR

2. TFile f(filename, option, title, ROOT::CompressionSettings(ROOT::kLZMA, 5));

OR

3. TFile f(filename, option, title);
   f.SetCompressionAlgorithm(ROOT::kLZMA);
   f.SetCompressionLevel(5);

These methods work for TFile, TBranch, TMessage, TSocket, and TBufferXML. 
The compression algorithm and level settings only affect compression of
data after they have been set. TFile passes its settings to its branches 
only at the time the branches are created. This can be overidden by 
explicitly setting the level and algorithm for the branch. These classes 
also have the following methods to access the algorithm and level for 
compression.

   Int_t GetCompressionAlgorithm() const;
   Int_t GetCompressionLevel() const;
   Int_t GetCompressionSettings() const;

If the compression level is set to 0, then no compression will be
done. All of the currently supported algorithms allow the level to be
set to any value from 1 to 9. The higher the level, the larger the
compression factors will be (smaller compressed data size). The
tradeoff is that for higher levels more CPU time is used for
compression and possibly more memory. The ZLIB algorithm takes less
CPU time during compression than the LZMA algorithm, but the LZMA
algorithm usually delivers higher compression factors.

The header file core/zip/inc/Compression.h declares the function
"CompressionSettings" and the enumeration for the algorithms.
Currently the following selections can be made for the algorithm:
kZLIB (1), kLZMA (2), kOldCompressionAlgo (3), and kUseGlobalSetting
(0). The last option refers to an older interface used to control the
algorithm that is maintained for backward compatibility. The following
function is defined in core/zip/inc/Bits.h and it set the global
variable.

   R__SetZipMode(int algorithm)

If the algorithm is set to kUseGlobalSetting (0), the global variable
controls the algorithm for compression operations.  This is the
default and the default value for the global variable is kZLIB.

Note that the LZMA algorithm will only be available if the LZMA
libraries from the XZ package were available when the ROOT executable
being used was configured and built. If you are building ROOT and want
LZMA then you must do something similar to the following if XZ is not
already installed on your system.

  Download XZ version 5.0.3 from http://tukaani.org/xz/
  unwind the tarball
  cd xz-5.0.3
  ./configure CFLAGS='-fPIC'
  make

ROOT was tested with version 5.0.3 of XZ.  It might work with earlier
versions and will probably work with later versions of XZ.

Then either use "make install" to put the library and headers into
/usr/local/* so the scripts building ROOT can find them or use
arguments to the ROOT configure script to point to the proper
directories containing the XZ library and headers. These are the
library and the included header (lzma.h includes other headers in the
lzma subdirectory).

  src/liblzma/.libs/liblzma.a
  src/liblzma/api/lzma.h

WARNING: Data compressed with the LZMA algorithm cannot be read by
ROOT executables that were not built with LZMA support.

Revision 35752 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Sep 26 22:07:36 2010 UTC (4 years, 3 months ago) by rdm
File length: 3944 byte(s)
Diff to previous 35314
From Matevz:
attached a patch that allows buffer size to be specified as an
optional argument to TMessage constructor. The minimal size will still be
enforced to 128 bytes in TBuffer constructor, while the default remains 1024.

Revision 35314 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 16 03:22:09 2010 UTC (4 years, 4 months ago) by pcanal
File length: 3906 byte(s)
Diff to previous 27689
Migrate the functionality of TStreamerInfo::TagFile to a new interface TBuffer::TagStreamerInfo
so that TMessage can customize the behavior.  TMessage now relies on this new interface
instead of TBuffer::IncrementLevel which had the disadvantage of being called not only
during writing but also during reading (where there is no need to keep track of the StreamerInfo used).
[This change will also allow us to keep the calls to IncrementLevel/DecrementLevel only in the
case the buffer is a TBufferXML]
 
Fix the implementation of TSocket::RecvStreamerInfos to properly handle the case where there are
abstract classes (when GetStreamerInfo() can not be called on an abstract class until it has
been called for one of the concrete derived classes) and the case of STL containers.

Revision 27689 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 4 17:09:18 2009 UTC (5 years, 10 months ago) by rdm
File length: 3905 byte(s)
Diff to previous 24432
move TestBitNumber() out of the public interface as it is only used by TSocket,
which is a TMessage friend.

Revision 24432 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 20 15:43:30 2008 UTC (6 years, 7 months ago) by rdm
File length: 3875 byte(s)
Diff to previous 24218
add local fEvolution flag in TMessage. It will be initialized by the value
of fgEvolution at the time of message creation. This to:
1) allow some message to have schema evolution while others not
2) to avoid that the changing of the global fgEvolution during the life-time
   of a message to cause problems

Revision 24218 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 11 15:39:32 2008 UTC (6 years, 7 months ago) by brun
File length: 3605 byte(s)
Diff to previous 24164
-implement the new function TMessage::ForceWriteInfo. The function adds the TStreamerInfo
objects to the list of streamed TStreamerInfos.

Revision 24164 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 6 12:20:34 2008 UTC (6 years, 7 months ago) by brun
File length: 3507 byte(s)
Diff to previous 23961
Protect TF1::ExecuteEvent in case fHistogram is null. This case may happen
in a multi-threaded application when one thread repaints the histogram while the mouse is over a pad containing a TF1.

Revision 23961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 22 07:44:09 2008 UTC (6 years, 8 months ago) by brun
File length: 3228 byte(s)
Diff to previous 23956
Make the automatic schema evolution optional.
Add a new static function
  TMessage::EnableSchemaEvolution(Bool_t enable=kFALSE)

Revision 23956 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 21 17:05:21 2008 UTC (6 years, 8 months ago) by brun
File length: 3077 byte(s)
Diff to previous 23091
In view of the coming TSocket schema evolution support, we extend TMessage with
a new TList* fInfos member that keeps track of all TStreamerInfo objects used when writing the object in the message.
Implement TMessage::WriteObject overloading TBufferFile::WriteObject.

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: 2892 byte(s)
Copied from: trunk/net/inc/TMessage.h revision 23090
Diff to previous 20882
moving the follwing directories to "net":

alien, auth, glite, globusauth, krb5auth, ldap, monalisa, net, netx,
rootd, rpdutils, srputils, xrootd

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2892 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2892 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2939 byte(s)
Diff to previous 17402
remove :$ from tag line

Revision 17402 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 19 16:48:00 2007 UTC (8 years ago) by brun
Original Path: trunk/net/inc/TMessage.h
File length: 2949 byte(s)
Diff to previous 13588
CVs been changed into a pure abstract interface.
The concrete implementation is in the new class TBufferFile.
All classes previously deriving from TBuffer derive now from TBufferFile, ie

  TBuffer  <- TBufferFile  <- TMessage
                           <- TBufferXML
                           <- TBufferSQL
                           <- TBufferSQL2

Because there are several problems with C++ operators overloading,
The I/O operators are defined in TBuffer. These are inline functions
calling C++ virtual functions defined in TBuffer and overloaded
by TBufferFile and all other derived classes when necessary.

The previous implementation of TBuffer.h included <vector> and Bytes.h.
The two include statements have been moved to TBufferFile.h. As a result the
compilation of the ROOT system is now slightly faster and a big bonus
is that changes in TBufferFile or Bytes.h will affect only TBufferFile
and will not force the recompilation of the entire system.
This change has some side-effects. If you assumed that include <vector>
was done by TBuffer.h, you may have to specify this include directly
in your class. This was the case for a few ROOT classes.


 : ----------------------------------------------------------------------

Revision 13588 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 9 15:12:19 2005 UTC (9 years, 1 month ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2937 byte(s)
Diff to previous 12337
From Gerri:
some small mods that prepare the ground for the new PROOF patch:
- TMessage.h, TMonitor.h: add friendship to new socket classes
- TSemaphose: support relative timeout in Wait()
- TUrl: in GetUrl() add option to also get default port numbers as part
        of the url.

Revision 12337 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 16:20:53 2005 UTC (9 years, 6 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2914 byte(s)
Diff to previous 8795
From Gerri:
Big patch restructuring the authentication code so libCore does not depend
on libssl etc. anymore. Isolate the current authentication code behind a
plugin library to be loaded on demand.
Setup of a framework able to manage both sets of authentication modules
(the current one and the one based on xrdsec, coming soon).
Cleanup all direct reference to authentication in TSlave and TProofServ,
allowing for significant simplification for the forthcoming changes
in PROOF for XPD.

New module: auth

New files: base/inc/TVirtualAuth.h
           auth/Module.Mk
           auth/inc/LinkDefRoot.h
           auth/inc/TRootAuth.h auth/inc/TRootSecContext.h
           auth/src/TRootAuth.cxx auth/src/TRootSecContext.cxx

Moved files:
   net/inc -> auth/inc : TAuthenticate.h THostAuth.h DaemonUtils.h AuthConst.h
   net/src -> auth/src : TAuthenticate.cxx THostAuth.cxx DaemonUtils.cxx

Revision 8795 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 5 14:43:34 2004 UTC (10 years, 8 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2886 byte(s)
Diff to previous 7313
allow TMessages to be compressed before sending them. To have a specific
message compressed use TMessage::SetCompressionLevel(n) where 0 < n <= 9,
like for TFile::SetCompressionLevel(). To have all messages send over
a specific TSocket compressed, use TSocket::SetCompressionLevel().
When a compressed message is received it is automatically uncompressed.
See modified tutorials/hclient.C on how this feature is used.

Revision 7313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 22 10:27:01 2003 UTC (11 years, 4 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2310 byte(s)
Diff to previous 4197
make TMessage(void* buf, Int_t bufsize) protected instead of private.

Revision 4197 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 19 10:57:25 2002 UTC (12 years, 10 months ago) by brun
Original Path: trunk/net/inc/TMessage.h
File length: 2298 byte(s)
Diff to previous 1487
Do not overload TBuffer::WriteObject in TMessage.
This is not necessary since TBuffer knows its parent.

Revision 1487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 00:04:28 2001 UTC (13 years, 11 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2344 byte(s)
Diff to previous 1193
make TPSocket a friend.

Revision 1193 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 12 18:20:02 2000 UTC (14 years, 1 month ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2315 byte(s)
Diff to previous 516
override TBuffer::WriteObject() and make sure gFile=0 so no streamer info
object will be attached to the currently open file. Also provide definition
of copy and assignment operators, but no implementation, so CINT does not
generate an automatic copy ctor that would call the not implemented TBuffer
copy ctor.

Revision 516 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 21 10:37:30 2000 UTC (14 years, 5 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2100 byte(s)
Diff to previous 3
added new method TMessage::Forward() which allows a just received message
to be send out (forwarded). It switches the TMessage from read mode to write
mode and resets some internal pointers. Change also required change in way
private TMessage ctor is called by friend TSocket::Recv() method.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/net/inc/TMessage.h
File length: 2020 byte(s)
Copied from: branches/rdm/net/inc/TMessage.h revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/net/inc/TMessage.h
File length: 2020 byte(s)
Initial import of ROOT into CVS

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9