ATLAS Offline Software
Loading...
Searching...
No Matches
v5_ESCompression.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5*/
6
7
8#ifndef OFFLINE_EVENTSTORAGE_V5_ESCOMPRESSION_H
9#define OFFLINE_EVENTSTORAGE_V5_ESCOMPRESSION_H
10
11#include <string>
12#include <sys/uio.h>
13#include "ers/ers.h"
14
16
18 CompressionIssue,
20
23 offline_EventStorage_v5::CompressionIssue,
24 "" << message << " - Zlib return code: "
25 << return_code << " Zlib message: " << zlib_message,
27 ((const char *) message )
28 ((int)return_code)
29 ((std::string) zlib_message)
30 )
31
32
34
35 static const std::string compressiontag("Compression");
36
37
42 class CompressionBuffer{
43
44 public:
45 using iovec_const = offline_EventStorage_v5::iovec_const;
46
47 virtual ~CompressionBuffer() {};
48
54 virtual void * handle() = 0;
55
63 virtual void realloc(const uint32_t& newsize) = 0;
64
72 virtual void grow(const uint32_t& newsize) = 0;
73
79 virtual uint32_t buffersize() const = 0;
80 };
81
82
83 CompressionType string_to_type(const std::string& type);
84 std::string type_to_string(const CompressionType& type);
85
86
103
104 void zlibcompress(CompressionBuffer& compressed,
105 uint32_t& compressedsize,
106 const uint32_t& entries,
107 const struct iovec_const* iov,
108 const uint32_t& totalsize,
109 const uint32_t& level);
110
111
127 void zlibdecompress(CompressionBuffer& decompressed,
128 uint32_t& decompressedsize,
129 const void * compressed,
130 const uint32_t& compsize);
131
132}
133
134#endif
ERS_DECLARE_ISSUE_BASE(afp, CantReadCool, dqm_core::Exception, "Cannot read folder '"<< folder<< "' from COOL database '"<< database<< "'", ERS_EMPTY,((std::string) database)((std::string) folder))
Configuration ERS_EMPTY
Definition PscIssues.h:32
double entries
Definition listroot.cxx:49
ERS_DECLARE_ISSUE(offline_EventStorage_v5, CompressionIssue, ERS_EMPTY, ERS_EMPTY) ERS_DECLARE_ISSUE_BASE(offline_EventStorage_v5
ZlibFailed