48 fCompress(
ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
72 fCompress(
ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
250 newCompress = 100 * algorithm + level;
266 if (level < 0) level = 0;
267 if (level > 99) level = 99;
274 newCompress = 100 * algorithm + level;
310 if (compressionLevel <= 0) {
346 Int_t nbuffers = 1 + (messlen - 1) / kMAXZIPBUF;
348 Int_t buflen = std::max(512, chdrlen + messlen + 9*nbuffers);
350 char *messbuf =
Buffer() + hdrlen;
355 for (
Int_t i = 0; i < nbuffers; ++i) {
356 if (i == nbuffers - 1)
357 bufmax = messlen - nzip;
360 R__zipMultipleAlgorithm(compressionLevel, &bufmax, messbuf, &bufmax, bufcur, &nout,
362 if (nout == 0 || nout >= messlen) {
372 messbuf += kMAXZIPBUF;
405 Error(
"Uncompress",
"Inconsistency found in header (nin=%d, nbuf=%d)", nin, nbuf);
413 char *messbuf =
fBuffer + hdrlen;
420 R__unzip(&nin, bufcur, &nbuf, (
unsigned char*) messbuf, &nout);
423 if (noutot >= buflen - hdrlen)
break;
void frombuf(char *&buf, Bool_t *x)
void tobuf(char *&buf, Bool_t x)
void R__unzip(Int_t *nin, UChar_t *bufin, Int_t *lout, char *bufout, Int_t *nout)
int R__unzip_header(Int_t *nin, UChar_t *bufin, Int_t *lout)
void ResetAllBits(Bool_t value=kFALSE)
Reset all bits to 0 (false).
Bool_t TestBitNumber(UInt_t bitnumber) const
void SetBitNumber(UInt_t bitnumber, Bool_t value=kTRUE)
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
TClass * ReadClass(const TClass *cl=nullptr, UInt_t *objTag=nullptr) override
Read class definition from I/O buffer.
void InitMap() override
Create the fMap container and initialize them with the null object.
void ResetMap() override
Delete existing fMap and reset map counter.
Buffer base class used for serializing objects.
void SetWriteMode()
Set buffer in write mode.
@ kCannotHandleMemberWiseStreaming
void SetBufferOffset(Int_t offset=0)
virtual void Add(TObject *obj)
virtual void Clear(Option_t *option="")
Remove all objects from the list.
static void EnableSchemaEvolutionForAll(Bool_t enable=kTRUE)
Static function enabling or disabling the automatic schema evolution.
void ForceWriteInfo(TVirtualStreamerInfo *info, Bool_t force) override
Force writing the TStreamerInfo to the message.
void Forward()
Change a buffer that was received into one that can be send, i.e.
void SetLength() const
Set the message length at the beginning of the message buffer.
Int_t GetCompressionAlgorithm() const
void Reset() override
Reset the message buffer so we can use (i.e. fill) it again.
void SetCompressionSettings(Int_t settings=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault)
Set compression settings.
UShort_t WriteProcessID(TProcessID *pid) override
Check if the ProcessID pid is already in the message.
Int_t Compress()
Compress the message.
virtual ~TMessage()
Destructor.
static Bool_t UsesSchemaEvolutionForAll()
Static function returning status of global schema evolution.
TMessage(const TMessage &)
void TagStreamerInfo(TVirtualStreamerInfo *info) override
Remember that the StreamerInfo is being used in writing.
void SetCompressionLevel(Int_t level=ROOT::RCompressionSetting::ELevel::kUseMin)
Set compression level.
Int_t Uncompress()
Uncompress the message.
Int_t GetCompressionLevel() const
static Bool_t fgEvolution
void SetWhat(UInt_t what)
Using this method one can change the message type a-posteriori In case you OR "what" with kMESS_ACK,...
void SetCompressionAlgorithm(Int_t algorithm=ROOT::RCompressionSetting::EAlgorithm::kUseGlobal)
Set compression algorithm.
virtual UInt_t GetUniqueID() const
Return the unique object id.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
A TProcessID identifies a ROOT job in a unique way in time and space.
static TProcessID * GetPID()
static: returns pointer to current TProcessID
Abstract Interface class describing Streamer information for one class.
EValues
Note: this is only temporarily a struct and will become a enum class hence the name.
@ kUndefined
Undefined compression algorithm (must be kept the last of the list in case a new algorithm is added).