#include <StreamerInputSource.h>
Classes | |
class | EventPrincipalHolder |
Public Member Functions | |
void | deserializeAndMergeWithRegistry (InitMsgView const &initView, bool subsequent=false) |
void | deserializeEvent (EventMsgView const &eventView) |
void | deserializeEventMetaData (EventMsgView const &eventView) |
std::unique_ptr< SendJobHeader > | deserializeRegistry (InitMsgView const &initView) |
uint32_t | eventMetaDataChecksum (EventMsgView const &eventView) const |
bool | isBufferLZMA (unsigned char const *inputBuffer, unsigned int inputSize) |
bool | isBufferZSTD (unsigned char const *inputBuffer, unsigned int inputSize) |
uint32_t | presentEventMetaDataChecksum () const |
StreamerInputSource (ParameterSet const &pset, InputSourceDescription const &desc) | |
void | updateEventMetaData () |
~StreamerInputSource () override | |
Public Member Functions inherited from edm::RawInputSource | |
RawInputSource (ParameterSet const &pset, InputSourceDescription const &desc) | |
~RawInputSource () override | |
Public Member Functions inherited from edm::InputSource | |
std::shared_ptr< ActivityRegistry > | actReg () const |
Accessor for Activity Registry. More... | |
std::shared_ptr< BranchIDListHelper const > | branchIDListHelper () const |
Accessors for branchIDListHelper. More... | |
std::shared_ptr< BranchIDListHelper > & | branchIDListHelper () |
void | closeFile (FileBlock *, bool cleaningUpAfterException) |
close current file More... | |
void | doBeginJob () |
Called by framework at beginning of job. More... | |
virtual void | doBeginLumi (LuminosityBlockPrincipal &lbp, ProcessContext const *) |
Called by framework at beginning of lumi block. More... | |
virtual void | doBeginRun (RunPrincipal &rp, ProcessContext const *) |
Called by framework at beginning of run. More... | |
void | doEndJob () |
Called by framework at end of job. More... | |
void | fillProcessBlockHelper () |
Fill the ProcessBlockHelper with info for the current file. More... | |
ProcessingController::ForwardState | forwardState () const |
bool | goToEvent (EventID const &eventID) |
InputSource (ParameterSet const &, InputSourceDescription const &) | |
Constructor. More... | |
InputSource (InputSource const &)=delete | |
void | issueReports (EventID const &eventID, StreamID streamID) |
issue an event report More... | |
LuminosityBlockNumber_t | luminosityBlock () const |
Accessor for current luminosity block number. More... | |
std::shared_ptr< LuminosityBlockAuxiliary > | luminosityBlockAuxiliary () const |
Called by the framework to merge or insert lumi in principal cache. More... | |
int | maxEvents () const |
int | maxLuminosityBlocks () const |
ModuleDescription const & | moduleDescription () const |
Accessor for 'module' description. More... | |
ItemTypeInfo | nextItemType () |
Advances the source to the next item. More... | |
bool | nextProcessBlock (ProcessBlockPrincipal &) |
Next process block, return false if there is none, sets the processName in the principal. More... | |
InputSource & | operator= (InputSource const &)=delete |
std::shared_ptr< ProcessBlockHelper const > | processBlockHelper () const |
Accessors for processBlockHelper. More... | |
std::shared_ptr< ProcessBlockHelper > & | processBlockHelper () |
ProcessConfiguration const & | processConfiguration () const |
Accessor for Process Configuration. More... | |
std::string const & | processGUID () const |
Accessor for global process identifier. More... | |
ProcessHistoryRegistry const & | processHistoryRegistry () const |
Accessors for process history registry. More... | |
ProcessHistoryRegistry & | processHistoryRegistry () |
ProcessingMode | processingMode () const |
RunsLumisAndEvents (default), RunsAndLumis, or Runs. More... | |
std::shared_ptr< ProductRegistry const > | productRegistry () const |
Accessors for product registry. More... | |
bool | randomAccess () const |
void | readAndMergeLumi (LuminosityBlockPrincipal &lbp) |
Read next luminosity block (same as a prior lumi) More... | |
void | readAndMergeRun (RunPrincipal &rp) |
Read next run (same as a prior run) More... | |
void | readEvent (EventPrincipal &ep, StreamContext &) |
Read next event. More... | |
bool | readEvent (EventPrincipal &ep, EventID const &, StreamContext &) |
Read a specific event. More... | |
std::shared_ptr< FileBlock > | readFile () |
Read next file. More... | |
void | readLuminosityBlock (LuminosityBlockPrincipal &lumiPrincipal, HistoryAppender &historyAppender) |
Read next luminosity block (new lumi) More... | |
std::shared_ptr< LuminosityBlockAuxiliary > | readLuminosityBlockAuxiliary () |
Read next luminosity block Auxilary. More... | |
void | readProcessBlock (ProcessBlockPrincipal &) |
Read next process block. More... | |
void | readRun (RunPrincipal &runPrincipal, HistoryAppender &historyAppender) |
Read next run (new run) More... | |
std::shared_ptr< RunAuxiliary > | readRunAuxiliary () |
Read next run Auxiliary. More... | |
ProcessHistoryID const & | reducedProcessHistoryID () const |
virtual void | registerProducts () |
Register any produced products. More... | |
int | remainingEvents () const |
int | remainingLuminosityBlocks () const |
void | repeat () |
Reset the remaining number of events/lumis to the maximum number. More... | |
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > | resourceSharedWithDelayedReader () |
Returns nullptr if no resource shared between the Source and a DelayedReader. More... | |
ProcessingController::ReverseState | reverseState () const |
void | rewind () |
Begin again at the first event. More... | |
RunNumber_t | run () const |
Accessor for current run number. More... | |
std::shared_ptr< RunAuxiliary > | runAuxiliary () const |
Called by the framework to merge or insert run in principal cache. More... | |
void | setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb) |
Set the luminosity block ID. More... | |
void | setRunNumber (RunNumber_t r) |
Set the run number. More... | |
void | skipEvents (int offset) |
void | switchTo (std::shared_ptr< ProductRegistry > iOther) |
switch to a different ProductRegistry. More... | |
std::shared_ptr< ThinnedAssociationsHelper const > | thinnedAssociationsHelper () const |
Accessors for thinnedAssociationsHelper. More... | |
std::shared_ptr< ThinnedAssociationsHelper > & | thinnedAssociationsHelper () |
Timestamp const & | timestamp () const |
Accessor for the current time, as seen by the input source. More... | |
virtual | ~InputSource () noexcept(false) |
Destructor. More... | |
Static Public Member Functions | |
static void | fillDescription (ParameterSetDescription &description) |
static void | mergeIntoRegistry (SendJobHeader const &header, ProductRegistry &, bool subsequent) |
static unsigned int | uncompressBuffer (unsigned char *inputBuffer, unsigned int inputSize, std::vector< unsigned char > &outputBuffer, unsigned int expectedFullSize) |
static unsigned int | uncompressBufferLZMA (unsigned char *inputBuffer, unsigned int inputSize, std::vector< unsigned char > &outputBuffer, unsigned int expectedFullSize, bool hasHeader=true) |
static unsigned int | uncompressBufferZSTD (unsigned char *inputBuffer, unsigned int inputSize, std::vector< unsigned char > &outputBuffer, unsigned int expectedFullSize, bool hasHeader=true) |
Static Public Member Functions inherited from edm::RawInputSource | |
static void | fillDescription (ParameterSetDescription &description) |
Static Public Member Functions inherited from edm::InputSource | |
static const std::string & | baseType () |
static void | fillDescription (ParameterSetDescription &desc) |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &) |
Protected Member Functions | |
void | resetAfterEndRun () |
Protected Member Functions inherited from edm::RawInputSource | |
virtual Next | checkNext ()=0 |
void | makeEvent (EventPrincipal &eventPrincipal, EventAuxiliary const &eventAuxiliary) |
void | setInputFileTransitionsEachEvent () |
Protected Member Functions inherited from edm::InputSource | |
virtual void | beginJob () |
Begin protected makes it easier to do template programming. More... | |
void | decreaseRemainingEventsBy (int iSkipped) |
bool | eventCached () const |
bool | newLumi () const |
bool | newRun () const |
ProcessHistoryRegistry & | processHistoryRegistryForUpdate () |
ProductRegistry & | productRegistryUpdate () |
void | reset () const |
void | resetEventCached () |
void | resetLuminosityBlockAuxiliary (bool isNewLumi=true) const |
void | resetNewLumi () |
void | resetNewRun () |
void | resetRunAuxiliary (bool isNewRun=true) const |
void | setEventCached () |
Called by the framework to merge or ached() const {return eventCached_;}. More... | |
void | setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp) |
void | setNewLumi () |
void | setNewRun () |
void | setRunAuxiliary (RunAuxiliary *rp) |
void | setTimestamp (Timestamp const &theTime) |
To set the current time, as seen by the input source. More... | |
virtual void | skip (int offset) |
ItemTypeInfo | state () const |
Static Protected Member Functions | |
static void | buildClassCache (SendDescs const &descs) |
static void | declareStreamers (SendDescs const &descs) |
Private Member Functions | |
void | deserializeEventCommon (EventMsgView const &eventView, bool isMetaData) |
void | read (EventPrincipal &eventPrincipal) override |
void | setRun (RunNumber_t r) override |
Private Attributes | |
bool | adjustEventToNewProductRegistry_ |
std::vector< unsigned char > | dest_ |
uint32_t | eventMetaDataChecksum_ = 0 |
edm::propagate_const< std::unique_ptr< EventPrincipalHolder > > | eventPrincipalHolder_ |
std::string | processName_ |
unsigned int | protocolVersion_ |
edm::propagate_const< std::unique_ptr< SendEvent > > | sendEvent_ |
std::vector< edm::propagate_const< std::unique_ptr< EventPrincipalHolder > > > | streamToEventPrincipalHolders_ |
edm::propagate_const< TClass * > | tc_ |
TBufferFile | xbuf_ |
Additional Inherited Members | |
Public Types inherited from edm::RawInputSource | |
enum | Next { Next::kEvent, Next::kFile, Next::kStop } |
Public Types inherited from edm::InputSource | |
enum | ItemPosition : char { ItemPosition::Invalid, ItemPosition::LastItemToBeMerged, ItemPosition::NotLastItemToBeMerged } |
enum | ItemType : char { ItemType::IsInvalid, ItemType::IsStop, ItemType::IsFile, ItemType::IsRun, ItemType::IsLumi, ItemType::IsEvent, ItemType::IsRepeat, ItemType::IsSynchronize } |
enum | ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents } |
Public Attributes inherited from edm::InputSource | |
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | postEventReadFromSourceSignal_ |
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> | preEventReadFromSourceSignal_ |
Definition at line 33 of file StreamerInputSource.h.
|
explicit |
Definition at line 45 of file StreamerInputSource.cc.
|
override |
Definition at line 56 of file StreamerInputSource.cc.
|
staticprotected |
Definition at line 100 of file StreamerInputSource.cc.
References edm::streamer::doBuildRealData(), FDEBUG, B2GTnPMonitor_cfi::item, AlCaHLTBitMon_QueryRunRegistry::string, and edm::wrappedClassName().
Referenced by mergeIntoRegistry().
|
staticprotected |
Definition at line 81 of file StreamerInputSource.cc.
References visDQMUpload::context, FDEBUG, B2GTnPMonitor_cfi::item, edm::streamer::loadCap(), AlCaHLTBitMon_QueryRunRegistry::string, edm::throwMissingDictionariesException(), and edm::wrappedClassName().
Referenced by mergeIntoRegistry().
void edm::streamer::StreamerInputSource::deserializeAndMergeWithRegistry | ( | InitMsgView const & | initView, |
bool | subsequent = false |
||
) |
Deserializes the specified init message into a SendJobHeader object and merges registries.
Definition at line 159 of file StreamerInputSource.cc.
References adjustEventToNewProductRegistry_, deserializeRegistry(), edm::pset::Registry::insertMapped(), edm::pset::Registry::instance(), B2GTnPMonitor_cfi::item, mergeIntoRegistry(), edm::InputSource::productRegistryUpdate(), and muonDTDigis_cfi::pset.
Referenced by edm::streamer::StreamerInputModule< Producer >::setupMetaData(), dqmservices::DQMStreamerReader::setupMetaData(), and edm::streamer::StreamerFileReader::updateMetaData().
void edm::streamer::StreamerInputSource::deserializeEvent | ( | EventMsgView const & | eventView | ) |
Deserializes the specified event message.
Definition at line 189 of file StreamerInputSource.cc.
References deserializeEventCommon().
Referenced by dqmservices::DQMStreamerReader::checkNext(), and edm::streamer::StreamerFileReader::checkNext().
|
private |
Definition at line 193 of file StreamerInputSource.cc.
References cms::Adler32(), edm::streamer::EventMsgView::adler32_chksum(), edm::streamer::EventMsgView::code(), filterCSVwithJSON::copy, dest_, edm::streamer::Header::EVENT, edm::streamer::EventMsgView::event(), edm::streamer::EventMsgView::eventData(), edm::streamer::EventMsgView::eventLength(), eventMetaDataChecksum_, eventPrincipalHolder_, Exception, FDEBUG, edm::streamer::EventMsgView::hostName(), edm::Timestamp::invalidTimestamp(), isBufferLZMA(), isBufferZSTD(), edm::streamer::EventMsgView::lumi(), edm::InputSource::luminosityBlock(), edm::InputSource::luminosityBlockAuxiliary(), edm::streamer::EventMsgView::origDataSize(), edm::InputSource::processHistoryRegistryForUpdate(), edm::ProcessHistoryRegistry::registerProcessHistory(), edm::InputSource::resetLuminosityBlockAuxiliary(), edm::streamer::EventMsgView::run(), edm::InputSource::run(), edm::InputSource::runAuxiliary(), sendEvent_, edm::InputSource::setEventCached(), edm::InputSource::setLuminosityBlockAuxiliary(), edm::setRefCoreStreamer(), edm::InputSource::setRunAuxiliary(), edm::streamer::EventMsgView::size(), tc_, uncompressBuffer(), uncompressBufferLZMA(), uncompressBufferZSTD(), and xbuf_.
Referenced by deserializeEvent(), and deserializeEventMetaData().
void edm::streamer::StreamerInputSource::deserializeEventMetaData | ( | EventMsgView const & | eventView | ) |
Definition at line 183 of file StreamerInputSource.cc.
References deserializeEventCommon().
Referenced by edm::streamer::StreamerFileReader::checkNext(), dqmservices::DQMStreamerReader::prepareNextEvent(), edm::streamer::StreamerInputModule< Producer >::setupMetaData(), dqmservices::DQMStreamerReader::setupMetaData(), and edm::streamer::StreamerFileReader::updateMetaData().
std::unique_ptr< SendJobHeader > edm::streamer::StreamerInputSource::deserializeRegistry | ( | InitMsgView const & | initView | ) |
Deserializes the specified init message into a SendJobHeader object (which is related to the product registry).
Definition at line 113 of file StreamerInputSource.cc.
References cms::Adler32(), edm::streamer::InitMsgView::adler32_chksum(), edm::streamer::InitMsgView::code(), submitPVResolutionJobs::desc, edm::streamer::InitMsgView::descData(), edm::streamer::InitMsgView::descLength(), Exception, FDEBUG, edm::streamer::getTClass(), edm::streamer::InitMsgView::hostName(), edm::streamer::Header::INIT, edm::streamer::InitMsgView::processName(), processName_, edm::streamer::InitMsgView::protocolVersion(), and protocolVersion_.
Referenced by deserializeAndMergeWithRegistry().
uint32_t edm::streamer::StreamerInputSource::eventMetaDataChecksum | ( | EventMsgView const & | eventView | ) | const |
Definition at line 179 of file StreamerInputSource.cc.
References edm::streamer::EventMsgView::adler32_chksum().
Referenced by edm::streamer::StreamerFileReader::checkNext(), and dqmservices::DQMStreamerReader::prepareNextEvent().
|
static |
Definition at line 532 of file StreamerInputSource.cc.
References submitPVResolutionJobs::desc, and edm::RawInputSource::fillDescription().
Referenced by dqmservices::DQMStreamerReader::fillDescriptions(), and edm::streamer::StreamerFileReader::fillDescriptions().
bool edm::streamer::StreamerInputSource::isBufferLZMA | ( | unsigned char const * | inputBuffer, |
unsigned int | inputSize | ||
) |
Detect if buffer starts with "XZ\0" which means it is compressed in LZMA format
Definition at line 398 of file StreamerInputSource.cc.
Referenced by deserializeEventCommon().
bool edm::streamer::StreamerInputSource::isBufferZSTD | ( | unsigned char const * | inputBuffer, |
unsigned int | inputSize | ||
) |
Detect if buffer starts with "Z\0" which means it is compressed in ZStandard format
Definition at line 450 of file StreamerInputSource.cc.
Referenced by deserializeEventCommon().
|
static |
Definition at line 59 of file StreamerInputSource.cc.
References buildClassCache(), declareStreamers(), Exception, FDEBUG, edm::ProductRegistry::frozen(), RecoTauValidation_cfi::header, edm::streamer::loadExtraClasses(), edm::ProductRegistry::merge(), edm::BranchDescription::Permissive, AlCaHLTBitMon_QueryRunRegistry::string, and edm::ProductRegistry::updateFromInput().
Referenced by deserializeAndMergeWithRegistry().
|
inline |
Definition at line 49 of file StreamerInputSource.h.
References eventMetaDataChecksum_.
Referenced by edm::streamer::StreamerFileReader::checkNext(), and dqmservices::DQMStreamerReader::prepareNextEvent().
|
overrideprivatevirtual |
Implements edm::RawInputSource.
Definition at line 299 of file StreamerInputSource.cc.
References adjustEventToNewProductRegistry_, edm::Principal::adjustIndexesAfterProductRegistryAddition(), edm::Principal::adjustToNewProductRegistry(), cms::cuda::assert(), edm::BranchDescription::branchID(), edm::InputSource::branchIDListHelper(), eventPrincipalHolder_, FDEBUG, edm::EventPrincipal::fillEventPrincipal(), edm::ProcessHistoryRegistry::getMapped(), eostools::move(), edm::InputSource::processHistoryRegistry(), edm::InputSource::productRegistry(), edm::EventPrincipal::putOnRead(), sendEvent_, edm::Principal::size(), edm::EventPrincipal::streamID(), streamToEventPrincipalHolders_, and edm::StreamID::value().
Referenced by edmIntegrityCheck.PublishToFileSystem::get().
|
protected |
Definition at line 477 of file StreamerInputSource.cc.
References cms::cuda::assert(), edm::InputSource::eventCached(), edm::InputSource::reset(), edm::InputSource::resetLuminosityBlockAuxiliary(), and edm::InputSource::resetRunAuxiliary().
|
overrideprivatevirtual |
Reimplemented from edm::InputSource.
Definition at line 486 of file StreamerInputSource.cc.
References Exception, and edm::errors::LogicError.
|
static |
Uncompresses the data in the specified input buffer into the specified output buffer. The inputSize should be set to the size of the compressed data in the inputBuffer. The expectedFullSize should be set to the original size of the data (before compression). Returns the actual size of the uncompressed data. Errors are reported by throwing exceptions.
Definition at line 373 of file StreamerInputSource.cc.
References Exception, FDEBUG, and runTheMatrix::ret.
Referenced by deserializeEventCommon().
|
static |
Definition at line 405 of file StreamerInputSource.cc.
References Exception, FDEBUG, createfilelist::int, cms::cuda::stream, and mitigatedMETSequence_cff::U.
Referenced by deserializeEventCommon().
|
static |
Definition at line 457 of file StreamerInputSource.cc.
References Exception, FDEBUG, and runTheMatrix::ret.
Referenced by deserializeEventCommon().
void edm::streamer::StreamerInputSource::updateEventMetaData | ( | ) |
Definition at line 174 of file StreamerInputSource.cc.
References edm::InputSource::branchIDListHelper(), sendEvent_, and edm::InputSource::thinnedAssociationsHelper().
Referenced by dqmservices::DQMStreamerReader::genuineReadFile(), edm::streamer::StreamerFileReader::genuineReadFile(), edm::streamer::StreamerInputModule< Producer >::genuineReadFile(), edm::streamer::StreamerInputModule< Producer >::setupMetaData(), dqmservices::DQMStreamerReader::setupMetaData(), and edm::streamer::StreamerFileReader::updateMetaData().
|
private |
Definition at line 131 of file StreamerInputSource.h.
Referenced by deserializeAndMergeWithRegistry(), and read().
|
private |
Definition at line 126 of file StreamerInputSource.h.
Referenced by deserializeEventCommon().
|
private |
Definition at line 135 of file StreamerInputSource.h.
Referenced by deserializeEventCommon(), and presentEventMetaDataChecksum().
|
private |
Definition at line 129 of file StreamerInputSource.h.
Referenced by deserializeEventCommon(), and read().
|
private |
Definition at line 133 of file StreamerInputSource.h.
Referenced by deserializeRegistry().
|
private |
Definition at line 134 of file StreamerInputSource.h.
Referenced by deserializeRegistry().
|
private |
Definition at line 128 of file StreamerInputSource.h.
Referenced by deserializeEventCommon(), read(), and updateEventMetaData().
|
private |
Definition at line 130 of file StreamerInputSource.h.
Referenced by read().
|
private |
Definition at line 125 of file StreamerInputSource.h.
Referenced by deserializeEventCommon().
|
private |
Definition at line 127 of file StreamerInputSource.h.
Referenced by deserializeEventCommon().