CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
LStoreFile Class Reference

#include <LStoreFile.h>

Inheritance diagram for LStoreFile:
Storage IOInput IOOutput

Classes

class  MutexWrapper
 

Public Member Functions

virtual void abort (void)
 
void close (void) override
 
virtual void create (const char *name, bool exclusive=false, int perms=0666)
 
virtual void create (const std::string &name, bool exclusive=false, int perms=0666)
 
 LStoreFile (const char *name, int flags=IOFlags::OpenRead, int perms=0666)
 
 LStoreFile (const std::string &name, int flags=IOFlags::OpenRead, int perms=0666)
 
 LStoreFile (void *fd)
 
 LStoreFile (void)
 
virtual void open (const char *name, int flags=IOFlags::OpenRead, int perms=0666)
 
virtual void open (const std::string &name, int flags=IOFlags::OpenRead, int perms=0666)
 
IOOffset position (IOOffset offset, Relative whence=SET) override
 
virtual IOOffset position (IOOffset offset, Relative whence=SET)=0
 
virtual IOOffset position (void) const
 
IOSize read (IOBuffer into, IOOffset pos)
 
IOSize read (void *into, IOSize n) override
 
virtual IOSize read (void *into, IOSize n, IOOffset pos)
 
void resize (IOOffset size) override
 
IOSize write (const void *from, IOSize n) override
 
virtual IOSize write (const void *from, IOSize n, IOOffset pos)
 
IOSize write (IOBuffer from, IOOffset pos)
 
 ~LStoreFile (void) override
 
- Public Member Functions inherited from Storage
virtual bool eof (void) const
 
virtual void flush (void)
 
virtual IOOffset position (void) const
 
virtual bool prefetch (const IOPosBuffer *what, IOSize n)
 
IOSize read (IOBuffer into)
 
IOSize read (IOBuffer into, IOOffset pos)
 
virtual IOSize read (void *into, IOSize n)=0
 
virtual IOSize read (void *into, IOSize n, IOOffset pos)
 
int read (void)
 
virtual IOSize readv (IOBuffer *into, IOSize buffers)
 
virtual IOSize readv (IOPosBuffer *into, IOSize buffers)
 
virtual void rewind (void)
 
virtual IOOffset size (void) const
 
 Storage (void)
 
virtual IOSize write (const void *from, IOSize n)=0
 
virtual IOSize write (const void *from, IOSize n, IOOffset pos)
 
IOSize write (IOBuffer from)
 
IOSize write (IOBuffer from, IOOffset pos)
 
IOSize write (unsigned char byte)
 
virtual IOSize writev (const IOBuffer *from, IOSize buffers)
 
virtual IOSize writev (const IOPosBuffer *from, IOSize buffers)
 
 ~Storage (void) override
 
- Public Member Functions inherited from IOInput
IOSize read (IOBuffer into)
 
int read (void)
 
virtual IOSize readv (IOBuffer *into, IOSize buffers)
 
IOSize xread (IOBuffer into)
 
IOSize xread (void *into, IOSize n)
 
IOSize xreadv (IOBuffer *into, IOSize buffers)
 
virtual ~IOInput (void)
 Destruct the stream. A no-op. More...
 
- Public Member Functions inherited from IOOutput
IOSize write (IOBuffer from)
 
IOSize write (unsigned char byte)
 
virtual IOSize writev (const IOBuffer *from, IOSize buffers)
 
IOSize xwrite (const void *from, IOSize n)
 
IOSize xwrite (IOBuffer from)
 
IOSize xwritev (const IOBuffer *from, IOSize buffers)
 
virtual ~IOOutput (void)
 Destruct the stream. A no-op. More...
 

Static Public Attributes

static pthread_mutex_t m_dlopen_lock = PTHREAD_MUTEX_INITIALIZER
 

Private Member Functions

void closeLibrary ()
 
void loadLibrary ()
 

Private Attributes

bool m_close
 
void * m_fd
 
bool m_is_loaded
 
void * m_library_handle
 
std::string m_name
 
int32_t(* redd_close )(void *)
 
int32_t(* redd_errno )()
 
int32_t(* redd_init )()
 
int64_t(* redd_lseek )(void *, int64_t, uint32_t)
 
void *(* redd_open )(const char *, int32_t, int32_t)
 
int64_t(* redd_read )(void *, char *, int64_t)
 
const std::string &(* redd_strerror )()
 
int32_t(* redd_term )()
 
int64_t(* redd_write )(void *, const char *, int64_t)
 

Additional Inherited Members

- Public Types inherited from Storage
enum  Relative { SET, CURRENT, END }
 

Detailed Description

Definition at line 8 of file LStoreFile.h.

Constructor & Destructor Documentation

◆ LStoreFile() [1/4]

LStoreFile::LStoreFile ( void  )

Definition at line 16 of file LStoreFile.cc.

17  : m_fd(nullptr),
18  m_close(false),
19  m_name(),
20  m_library_handle(nullptr),
21  m_is_loaded(false),
22  redd_init(nullptr),
23  redd_read(nullptr),
24  redd_close(nullptr),
25  redd_lseek(nullptr),
26  redd_open(nullptr),
27  redd_write(nullptr),
28  redd_term(nullptr),
29  redd_errno(nullptr),
30  redd_strerror(nullptr) {
31  loadLibrary();
32 }

References loadLibrary().

◆ LStoreFile() [2/4]

LStoreFile::LStoreFile ( void *  fd)

Definition at line 34 of file LStoreFile.cc.

35  : m_fd(fd),
36  m_close(true),
37  m_name(),
38  m_library_handle(nullptr),
39  m_is_loaded(false),
40  redd_init(nullptr),
41  redd_read(nullptr),
42  redd_close(nullptr),
43  redd_lseek(nullptr),
44  redd_open(nullptr),
45  redd_write(nullptr),
46  redd_term(nullptr),
47  redd_errno(nullptr),
48  redd_strerror(nullptr) {
49  loadLibrary();
50 }

References loadLibrary().

◆ LStoreFile() [3/4]

LStoreFile::LStoreFile ( const char *  name,
int  flags = IOFlags::OpenRead,
int  perms = 0666 
)

Definition at line 52 of file LStoreFile.cc.

53  : m_fd(nullptr), m_close(false), m_is_loaded(false) {
54  loadLibrary();
55  open(name, flags, perms);
56 }

References HLT_2018_cff::flags, loadLibrary(), Skims_PA_cff::name, and open().

◆ LStoreFile() [4/4]

LStoreFile::LStoreFile ( const std::string &  name,
int  flags = IOFlags::OpenRead,
int  perms = 0666 
)

Definition at line 58 of file LStoreFile.cc.

59  : m_fd(nullptr), m_close(false), m_is_loaded(false) {
60  loadLibrary();
61  open(name.c_str(), flags, perms);
62 }

References HLT_2018_cff::flags, loadLibrary(), Skims_PA_cff::name, and open().

◆ ~LStoreFile()

LStoreFile::~LStoreFile ( void  )
override

Definition at line 64 of file LStoreFile.cc.

64  {
65  if (m_close)
66  edm::LogError("LStoreFileError") << "Destructor called on LStore file '" << m_name
67  << "' but the file is still open";
68  closeLibrary();
69 }

References closeLibrary(), m_close, and m_name.

Member Function Documentation

◆ abort()

void LStoreFile::abort ( void  )
virtual

Definition at line 226 of file LStoreFile.cc.

226  {
227  if (m_fd != nullptr)
228  (*redd_close)(m_fd);
229 
230  m_close = false;
231  m_fd = nullptr;
232 }

References m_close, and m_fd.

◆ close()

void LStoreFile::close ( void  )
overridevirtual

Reimplemented from Storage.

Definition at line 208 of file LStoreFile.cc.

208  {
209  if (m_fd == nullptr) {
210  edm::LogError("LStoreFileError") << "LStoreFile::close(name='" << m_name << "') called but the file is not open";
211  m_close = false;
212  return;
213  }
214  edm::LogInfo("LStoreFile::close()") << "closing " << m_name << std::endl;
215  if ((*redd_close)(m_fd) == -1)
216  edm::LogWarning("LStoreFileWarning") << "redd_close(name='" << m_name << "') failed with error '"
217  << (*redd_strerror)() << "' (redd_errno=" << (*redd_errno)() << ")";
218 
219  m_close = false;
220  m_fd = nullptr;
221 
222  // Caused hang. Will be added back after problem is fixed.
223  // edm::LogInfo("LStoreFileInfo") << "Closed " << m_name;
224 }

References m_close, m_fd, m_name, redd_close, and redd_errno.

Referenced by esMonitoring.AsyncLineReaderMixin::handle_close(), esMonitoring.FDJsonServer::handle_close(), and open().

◆ closeLibrary()

void LStoreFile::closeLibrary ( )
private

Definition at line 116 of file LStoreFile.cc.

116  {
117  try {
118  LStoreFile::MutexWrapper lockObj(&this->m_dlopen_lock);
119 
120  // What is the correct idiom for propagating error messages
121  // in functions that are exclusively called in destructors?
122  // Seriously. I have no idea
123  // melo
124  if (m_is_loaded) {
125  if ((*redd_term)()) {
126  throw cms::Exception("LStoreFile::closeLibrary()") << "Error in redd_term: " << (*redd_strerror)();
127  }
128  }
129  if (m_library_handle != nullptr) {
130  if (dlclose(m_library_handle)) {
131  throw cms::Exception("LStoreFile::closeLibrary()") << "Error on dlclose(): " << dlerror();
132  }
133  }
134  } catch (cms::Exception &e) {
135  edm::LogError("LStoreFileError") << "LStoreFile had an error in its destructor: " << e;
136  }
137  m_is_loaded = false;
138 }

References MillePedeFileConverter_cfg::e, Exception, m_dlopen_lock, m_is_loaded, m_library_handle, and redd_term.

Referenced by ~LStoreFile().

◆ create() [1/2]

void LStoreFile::create ( const char *  name,
bool  exclusive = false,
int  perms = 0666 
)
virtual

◆ create() [2/2]

void LStoreFile::create ( const std::string &  name,
bool  exclusive = false,
int  perms = 0666 
)
virtual

◆ loadLibrary()

void LStoreFile::loadLibrary ( )
private

Definition at line 84 of file LStoreFile.cc.

84  {
85  edm::LogError("LStoreFile::loadLibrary()") << "Loading library\n";
87  // until ACCRE removes the java dependency from their client libs,
88  // we'll dlopen() them so they don't need to be brought along with cmssw
89  // if you're running LStore at your site, you will have the libs anyway
90  // TODO add wrappers to make this work in OSX as well (CMSSW's getting ported?)
91  // TODO should be easy, just need to know the "proper" way to do #if OSX
92  // -Melo
93 
94  m_library_handle = dlopen("libreddnet.so", RTLD_LAZY);
95  if (m_library_handle == nullptr) {
96  throw cms::Exception("LStoreFile::loadLibrary()") << "Can't dlopen() LStore libraries: " << dlerror();
97  }
98 
99  char *retval = nullptr;
100  // Explicitly state the size of these values, keeps weird 64/32 bit stuff away
101  REDD_LOAD_SYMBOL(redd_init, int32_t(*)());
102  REDD_LOAD_SYMBOL(redd_read, int64_t(*)(void *, char *, int64_t));
103  REDD_LOAD_SYMBOL(redd_lseek, int64_t(*)(void *, int64_t, uint32_t));
104  REDD_LOAD_SYMBOL(redd_open, void *(*)(const char *, int, int));
105  REDD_LOAD_SYMBOL(redd_write, int64_t(*)(void *, const char *, int64_t));
106  REDD_LOAD_SYMBOL(redd_term, int32_t(*)());
107  REDD_LOAD_SYMBOL(redd_errno, int32_t(*)());
109 
110  if ((*redd_init)()) {
111  throw cms::Exception("LStoreFile::loadLibrary()") << "Error in redd_init: " << (*redd_strerror)();
112  }
113  m_is_loaded = true;
114 }

References Exception, m_dlopen_lock, m_is_loaded, m_library_handle, redd_errno, redd_init, REDD_LOAD_SYMBOL, redd_lseek, redd_open, redd_read, redd_strerror, redd_term, redd_write, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by LStoreFile().

◆ open() [1/2]

void LStoreFile::open ( const char *  name,
int  flags = IOFlags::OpenRead,
int  perms = 0666 
)
virtual

Definition at line 157 of file LStoreFile.cc.

157  {
158  // Actual open
159  if ((name == nullptr) || (*name == 0))
160  throw cms::Exception("LStoreFile::open()") << "Cannot open a file without a name";
161 
162  if ((flags & (IOFlags::OpenRead | IOFlags::OpenWrite)) == 0)
163  throw cms::Exception("LStoreFile::open()") << "Must open file '" << name << "' at least for read or write";
164 
165  // If I am already open, close old file first
166  if (m_fd != nullptr && m_close)
167  close();
168 
169  // Translate our flags to system flags
170  int openflags = 0;
171 
173  openflags |= O_RDWR;
174  else if (flags & IOFlags::OpenRead)
175  openflags |= O_RDONLY;
176  else if (flags & IOFlags::OpenWrite)
177  openflags |= O_WRONLY;
178 
180  openflags |= O_NONBLOCK;
181 
183  openflags |= O_APPEND;
184 
186  openflags |= O_CREAT;
187 
189  openflags |= O_EXCL;
190 
192  openflags |= O_TRUNC;
193 
194  void *newfd = nullptr;
195  if ((newfd = (*redd_open)(name, openflags, perms)) == nullptr)
196  throw cms::Exception("LStoreFile::open()")
197  << "redd_open(name='" << name << "', flags=0x" << std::hex << openflags << ", permissions=0" << std::oct
198  << perms << std::dec << ") => error '" << (*redd_strerror)() << "' (redd_errno=" << (*redd_errno)() << ")";
199 
200  m_name = name;
201  m_fd = newfd;
202 
203  m_close = true;
204 
205  edm::LogInfo("LStoreFileInfo") << "Opened " << m_name;
206 }

References close(), TauDecayModes::dec, Exception, HLT_2018_cff::flags, m_close, m_fd, m_name, Skims_PA_cff::name, O_NONBLOCK, IOFlags::OpenAppend, IOFlags::OpenCreate, IOFlags::OpenExclusive, IOFlags::OpenNonBlock, IOFlags::OpenRead, IOFlags::OpenTruncate, IOFlags::OpenWrite, redd_errno, and redd_open.

Referenced by create(), LStoreFile(), and open().

◆ open() [2/2]

void LStoreFile::open ( const std::string &  name,
int  flags = IOFlags::OpenRead,
int  perms = 0666 
)
virtual

Definition at line 153 of file LStoreFile.cc.

153  {
154  open(name.c_str(), flags, perms);
155 }

References HLT_2018_cff::flags, Skims_PA_cff::name, and open().

◆ position() [1/3]

IOOffset LStoreFile::position ( IOOffset  offset,
Relative  whence = SET 
)
overridevirtual

Implements Storage.

Definition at line 263 of file LStoreFile.cc.

263  {
264  if (m_fd == nullptr)
265  throw cms::Exception("LStoreFile::position()") << "LStoreFile::position() called on a closed file";
266  if (whence != CURRENT && whence != SET && whence != END)
267  throw cms::Exception("LStoreFile::position()") << "LStoreFile::position() called with incorrect 'whence' parameter";
268 
270  uint32_t mywhence = (whence == SET ? SEEK_SET : whence == CURRENT ? SEEK_CUR : SEEK_END);
271  if ((result = (*redd_lseek)(m_fd, (off_t)offset, (uint32_t)mywhence)) == -1)
272  throw cms::Exception("LStoreFile::position()")
273  << "redd_lseek64(name='" << m_name << "', offset=" << offset << ", whence=" << mywhence
274  << ") failed with error '" << (*redd_strerror)() << "' (redd_errno=" << (*redd_errno)() << ")";
275  return result;
276 }

References Storage::CURRENT, Storage::END, Exception, m_fd, m_name, hltrates_dqm_sourceclient-live_cfg::offset, redd_errno, redd_lseek, mps_fire::result, and Storage::SET.

Referenced by LStoreStorageMaker::check().

◆ position() [2/3]

virtual IOOffset Storage::position

◆ position() [3/3]

IOOffset Storage::position

Definition at line 72 of file Storage.cc.

72  {
73  Storage *self = const_cast<Storage *>(this);
74  return self->position(0, CURRENT);
75 }

◆ read() [1/3]

IOSize Storage::read

Definition at line 10 of file Storage.cc.

10 { return read(into.data(), into.size(), pos); }

◆ read() [2/3]

IOSize LStoreFile::read ( void *  into,
IOSize  n 
)
overridevirtual

Read into into at most n number of bytes.

If this is a blocking stream, the call will block until some data can be read, end of input is reached, or an exception is thrown. For a non-blocking stream the available input is returned. If none is available, an exception is thrown.

Returns
The number of bytes actually read. This is less or equal to the size of the buffer. Zero indicates that the end of the input has been reached: end of file, or remote end closing for a connected channel like a pipe or a socket. Otherwise the value can be less than requested if limited amount of input is currently available for platform or implementation reasons.
Exceptions
Incase of error, a #IOError exception is thrown. This includes the situation where the input stream is in non-blocking mode and no input is currently available (FIXME: make this simpler; clarify which exception).

Implements IOInput.

Definition at line 234 of file LStoreFile.cc.

234  {
235  IOSize done = 0;
236  while (done < n) {
237  ssize_t s = (*redd_read)(m_fd, (char *)into + done, n - done);
238  if (s == -1)
239  throw cms::Exception("LStoreFile::read()")
240  << "redd_read(name='" << m_name << "', n=" << (n - done) << ") failed with error '" << (*redd_strerror)()
241  << "' (redd_errno=" << (*redd_errno)() << ")";
242  done += s;
243  }
244  return done;
245 }

References fileCollector::done, Exception, m_fd, m_name, dqmiodumpmetadata::n, redd_errno, redd_strerror, and alignCSCRings::s.

◆ read() [3/3]

IOSize Storage::read

Definition at line 12 of file Storage.cc.

12  {
13  // FIXME: this is not thread safe! split into separate interface
14  // that a particular storage can choose to support or not? make
15  // sure that throw semantics are correct here!
16  // FIXME: use saveposition object in case exceptions are thrown?
17  IOOffset here = position();
18  position(pos);
19  n = read(into, n);
20  position(here);
21  return n;
22 }

◆ resize()

void LStoreFile::resize ( IOOffset  size)
overridevirtual

Implements Storage.

Definition at line 278 of file LStoreFile.cc.

278  {
279  throw cms::Exception("LStoreFile::resize()") << "LStoreFile::resize(name='" << m_name << "') not implemented";
280 }

References Exception, and m_name.

◆ write() [1/3]

IOSize LStoreFile::write ( const void *  from,
IOSize  n 
)
overridevirtual

Write n bytes of data starting at address from.

Returns
The number of bytes written. Normally this will be n, but can be less, even zero, for example if the stream is non-blocking mode and cannot accept input at this time.
Exceptions
Incase of error, an exception is thrown. However if the stream is in non-blocking mode and cannot accept output, it will not throw an exception – the return value will be less than requested.

Implements IOOutput.

Definition at line 247 of file LStoreFile.cc.

247  {
248  IOSize done = 0;
249  while (done < n) {
250  ssize_t s = (*redd_write)(m_fd, (const char *)from + done, n - done);
251  if (s == -1)
252  throw cms::Exception("LStoreFile::write()")
253  << "redd_write(name='" << m_name << "', n=" << (n - done) << ") failed with error '" << (*redd_strerror)()
254  << "' (redd_errno=" << (*redd_errno)() << ")";
255  done += s;
256  }
257 
258  return done;
259 }

References fileCollector::done, Exception, m_fd, m_name, dqmiodumpmetadata::n, redd_errno, redd_strerror, and alignCSCRings::s.

◆ write() [2/3]

IOSize Storage::write

Definition at line 44 of file Storage.cc.

44  {
45  // FIXME: this is not thread safe! split into separate interface
46  // that a particular storage can choose to support or not? make
47  // sure that throw semantics are correct here!
48 
49  // FIXME: use saveposition object in case exceptions are thrown?
50  IOOffset here = position();
51  position(pos);
52  n = write(from, n);
53  position(here);
54  return n;
55 }

◆ write() [3/3]

IOSize Storage::write

Definition at line 42 of file Storage.cc.

42 { return write(from.data(), from.size(), pos); }

Member Data Documentation

◆ m_close

bool LStoreFile::m_close
private

Definition at line 52 of file LStoreFile.h.

Referenced by abort(), close(), open(), and ~LStoreFile().

◆ m_dlopen_lock

pthread_mutex_t LStoreFile::m_dlopen_lock = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 41 of file LStoreFile.h.

Referenced by closeLibrary(), and loadLibrary().

◆ m_fd

void* LStoreFile::m_fd
private

Definition at line 51 of file LStoreFile.h.

Referenced by abort(), close(), open(), position(), read(), and write().

◆ m_is_loaded

bool LStoreFile::m_is_loaded
private

Definition at line 55 of file LStoreFile.h.

Referenced by closeLibrary(), and loadLibrary().

◆ m_library_handle

void* LStoreFile::m_library_handle
private

Definition at line 54 of file LStoreFile.h.

Referenced by closeLibrary(), and loadLibrary().

◆ m_name

std::string LStoreFile::m_name
private

Definition at line 53 of file LStoreFile.h.

Referenced by close(), open(), position(), read(), resize(), write(), and ~LStoreFile().

◆ redd_close

int32_t(* LStoreFile::redd_close) (void *)
private

Definition at line 62 of file LStoreFile.h.

Referenced by close().

◆ redd_errno

int32_t(* LStoreFile::redd_errno) ()
private

Definition at line 67 of file LStoreFile.h.

Referenced by close(), loadLibrary(), open(), position(), read(), and write().

◆ redd_init

int32_t(* LStoreFile::redd_init) ()
private

Definition at line 60 of file LStoreFile.h.

Referenced by loadLibrary().

◆ redd_lseek

int64_t(* LStoreFile::redd_lseek) (void *, int64_t, uint32_t)
private

Definition at line 63 of file LStoreFile.h.

Referenced by loadLibrary(), and position().

◆ redd_open

void*(* LStoreFile::redd_open) (const char *, int32_t, int32_t)
private

Definition at line 64 of file LStoreFile.h.

Referenced by loadLibrary(), and open().

◆ redd_read

int64_t(* LStoreFile::redd_read) (void *, char *, int64_t)
private

Definition at line 61 of file LStoreFile.h.

Referenced by loadLibrary().

◆ redd_strerror

const std::string&(* LStoreFile::redd_strerror) ()
private

Definition at line 68 of file LStoreFile.h.

Referenced by loadLibrary(), read(), and write().

◆ redd_term

int32_t(* LStoreFile::redd_term) ()
private

Definition at line 66 of file LStoreFile.h.

Referenced by closeLibrary(), and loadLibrary().

◆ redd_write

int64_t(* LStoreFile::redd_write) (void *, const char *, int64_t)
private

Definition at line 65 of file LStoreFile.h.

Referenced by loadLibrary().

LStoreFile::m_close
bool m_close
Definition: LStoreFile.h:52
LStoreFile::redd_write
int64_t(* redd_write)(void *, const char *, int64_t)
Definition: LStoreFile.h:65
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
IOFlags::OpenNonBlock
Definition: IOFlags.h:9
LStoreFile::redd_term
int32_t(* redd_term)()
Definition: LStoreFile.h:66
LStoreFile::redd_strerror
const std::string &(* redd_strerror)()
Definition: LStoreFile.h:68
LStoreFile::m_fd
void * m_fd
Definition: LStoreFile.h:51
pos
Definition: PixelAliasList.h:18
edm::LogInfo
Definition: MessageLogger.h:254
Storage::END
Definition: Storage.h:22
Storage::SET
Definition: Storage.h:22
IOFlags::OpenTruncate
Definition: IOFlags.h:28
LStoreFile::write
IOSize write(const void *from, IOSize n) override
Definition: LStoreFile.cc:247
IOFlags::OpenWrite
Definition: IOFlags.h:8
LStoreFile::open
virtual void open(const char *name, int flags=IOFlags::OpenRead, int perms=0666)
Definition: LStoreFile.cc:157
LStoreFile::closeLibrary
void closeLibrary()
Definition: LStoreFile.cc:116
ztee.fd
fd
Definition: ztee.py:136
alignCSCRings.s
s
Definition: alignCSCRings.py:92
LStoreFile::m_is_loaded
bool m_is_loaded
Definition: LStoreFile.h:55
fileCollector.done
done
Definition: fileCollector.py:123
LStoreFile::m_library_handle
void * m_library_handle
Definition: LStoreFile.h:54
LStoreFile::loadLibrary
void loadLibrary()
Definition: LStoreFile.cc:84
IOFlags::OpenRead
Definition: IOFlags.h:7
LStoreFile::redd_lseek
int64_t(* redd_lseek)(void *, int64_t, uint32_t)
Definition: LStoreFile.h:63
LStoreFile::m_dlopen_lock
static pthread_mutex_t m_dlopen_lock
Definition: LStoreFile.h:41
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::LogWarning
Definition: MessageLogger.h:141
edm::LogError
Definition: MessageLogger.h:183
LStoreFile::redd_close
int32_t(* redd_close)(void *)
Definition: LStoreFile.h:62
LStoreFile::redd_read
int64_t(* redd_read)(void *, char *, int64_t)
Definition: LStoreFile.h:61
LStoreFile::close
void close(void) override
Definition: LStoreFile.cc:208
IOOffset
int64_t IOOffset
Definition: IOTypes.h:19
LStoreFile::redd_init
int32_t(* redd_init)()
Definition: LStoreFile.h:60
REDD_LOAD_SYMBOL
#define REDD_LOAD_SYMBOL(NAME, TYPE)
Definition: LStoreFile.cc:74
IOFlags::OpenExclusive
Definition: IOFlags.h:25
IOFlags::OpenCreate
Definition: IOFlags.h:24
IOFlags::OpenAppend
Definition: IOFlags.h:18
LStoreFile::redd_errno
int32_t(* redd_errno)()
Definition: LStoreFile.h:67
generator_cfi.exclusive
exclusive
Definition: generator_cfi.py:24
Storage::position
virtual IOOffset position(void) const
Definition: Storage.cc:72
Exception
Definition: hltDiff.cc:246
LStoreFile::redd_open
void *(* redd_open)(const char *, int32_t, int32_t)
Definition: LStoreFile.h:64
IOInput::read
int read(void)
Definition: IOInput.cc:52
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
O_NONBLOCK
#define O_NONBLOCK
Definition: SysFile.h:21
Storage::CURRENT
Definition: Storage.h:22
mps_fire.result
result
Definition: mps_fire.py:303
cms::Exception
Definition: Exception.h:70
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
IOSize
size_t IOSize
Definition: IOTypes.h:14
Storage
Definition: Storage.h:20
HLT_2018_cff.flags
flags
Definition: HLT_2018_cff.py:11758
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
LStoreFile::m_name
std::string m_name
Definition: LStoreFile.h:53
LStoreFile::MutexWrapper
Definition: LStoreFile.h:34
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37