#include <StreamerInputSource.h>
Classes | |
class | EventPrincipalHolder |
Public Member Functions | |
void | deserializeAndMergeWithRegistry (InitMsgView const &initView, bool subsequent=false) |
void | deserializeEvent (EventMsgView const &eventView) |
std::unique_ptr< SendJobHeader > | deserializeRegistry (InitMsgView const &initView) |
bool | isBufferLZMA (unsigned char const *inputBuffer, unsigned int inputSize) |
bool | isBufferZSTD (unsigned char const *inputBuffer, unsigned int inputSize) |
StreamerInputSource (ParameterSet const &pset, InputSourceDescription const &desc) | |
~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 &, BranchIDListHelper &, ThinnedAssociationsHelper &, 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 | read (EventPrincipal &eventPrincipal) override |
void | setRun (RunNumber_t r) override |
Private Attributes | |
bool | adjustEventToNewProductRegistry_ |
std::vector< unsigned char > | dest_ |
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 31 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 108 of file StreamerInputSource.cc.
References edm::doBuildRealData(), FDEBUG, B2GTnPMonitor_cfi::item, AlCaHLTBitMon_QueryRunRegistry::string, and edm::wrappedClassName().
Referenced by mergeIntoRegistry().
|
staticprotected |
Definition at line 89 of file StreamerInputSource.cc.
References visDQMUpload::context, FDEBUG, B2GTnPMonitor_cfi::item, edm::loadCap(), AlCaHLTBitMon_QueryRunRegistry::string, edm::throwMissingDictionariesException(), and edm::wrappedClassName().
Referenced by mergeIntoRegistry().
void edm::StreamerInputSource::deserializeAndMergeWithRegistry | ( | InitMsgView const & | initView, |
bool | subsequent = false |
||
) |
Deserializes the specified init message into a SendJobHeader object and merges registries.
Definition at line 167 of file StreamerInputSource.cc.
References adjustEventToNewProductRegistry_, edm::InputSource::branchIDListHelper(), deserializeRegistry(), edm::pset::Registry::insertMapped(), edm::pset::Registry::instance(), B2GTnPMonitor_cfi::item, mergeIntoRegistry(), edm::InputSource::productRegistryUpdate(), muonDTDigis_cfi::pset, and edm::InputSource::thinnedAssociationsHelper().
Referenced by dqmservices::DQMStreamerReader::genuineReadFile(), edm::StreamerFileReader::genuineReadFile(), edm::StreamerInputModule< Producer >::genuineReadFile(), dqmservices::DQMStreamerReader::openFileImp_(), edm::StreamerFileReader::reset_(), and edm::StreamerInputModule< Producer >::StreamerInputModule().
void edm::StreamerInputSource::deserializeEvent | ( | EventMsgView const & | eventView | ) |
Deserializes the specified event message.
Definition at line 185 of file StreamerInputSource.cc.
References cms::Adler32(), EventMsgView::adler32_chksum(), EventMsgView::code(), filterCSVwithJSON::copy, dest_, Header::EVENT, EventMsgView::event(), EventMsgView::eventData(), EventMsgView::eventLength(), eventPrincipalHolder_, Exception, FDEBUG, EventMsgView::hostName(), edm::Timestamp::invalidTimestamp(), isBufferLZMA(), isBufferZSTD(), EventMsgView::lumi(), edm::InputSource::luminosityBlock(), edm::InputSource::luminosityBlockAuxiliary(), EventMsgView::origDataSize(), edm::InputSource::processHistoryRegistryForUpdate(), edm::ProcessHistoryRegistry::registerProcessHistory(), edm::InputSource::resetLuminosityBlockAuxiliary(), EventMsgView::run(), edm::InputSource::run(), edm::InputSource::runAuxiliary(), sendEvent_, edm::InputSource::setEventCached(), edm::InputSource::setLuminosityBlockAuxiliary(), edm::setRefCoreStreamer(), edm::InputSource::setRunAuxiliary(), EventMsgView::size(), tc_, uncompressBuffer(), uncompressBufferLZMA(), uncompressBufferZSTD(), and xbuf_.
Referenced by dqmservices::DQMStreamerReader::checkNext(), and edm::StreamerFileReader::checkNext().
std::unique_ptr< SendJobHeader > edm::StreamerInputSource::deserializeRegistry | ( | InitMsgView const & | initView | ) |
Deserializes the specified init message into a SendJobHeader object (which is related to the product registry).
Definition at line 121 of file StreamerInputSource.cc.
References cms::Adler32(), InitMsgView::adler32_chksum(), InitMsgView::code(), submitPVResolutionJobs::desc, InitMsgView::descData(), InitMsgView::descLength(), Exception, FDEBUG, edm::getTClass(), InitMsgView::hostName(), Header::INIT, InitMsgView::processName(), processName_, InitMsgView::protocolVersion(), and protocolVersion_.
Referenced by deserializeAndMergeWithRegistry().
|
static |
Definition at line 513 of file StreamerInputSource.cc.
References submitPVResolutionJobs::desc, and edm::RawInputSource::fillDescription().
Referenced by dqmservices::DQMStreamerReader::fillDescriptions(), and edm::StreamerFileReader::fillDescriptions().
bool edm::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 379 of file StreamerInputSource.cc.
Referenced by deserializeEvent().
bool edm::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 431 of file StreamerInputSource.cc.
Referenced by deserializeEvent().
|
static |
Definition at line 59 of file StreamerInputSource.cc.
References edm::InputSource::branchIDListHelper(), buildClassCache(), declareStreamers(), Exception, FDEBUG, edm::ProductRegistry::frozen(), RecoTauValidation_cfi::header, edm::loadExtraClasses(), edm::ProductRegistry::merge(), edm::BranchDescription::Permissive, AlCaHLTBitMon_QueryRunRegistry::string, edm::ProductRegistry::updateFromInput(), and edm::ThinnedAssociationsHelper::updateFromPrimaryInput().
Referenced by deserializeAndMergeWithRegistry().
|
overrideprivatevirtual |
Implements edm::RawInputSource.
Definition at line 280 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 458 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 467 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 354 of file StreamerInputSource.cc.
References Exception, FDEBUG, and runTheMatrix::ret.
Referenced by deserializeEvent().
|
static |
Definition at line 386 of file StreamerInputSource.cc.
References Exception, FDEBUG, createfilelist::int, cms::cuda::stream, and mitigatedMETSequence_cff::U.
Referenced by deserializeEvent().
|
static |
Definition at line 438 of file StreamerInputSource.cc.
References Exception, FDEBUG, and runTheMatrix::ret.
Referenced by deserializeEvent().
|
private |
Definition at line 122 of file StreamerInputSource.h.
Referenced by deserializeAndMergeWithRegistry(), and read().
|
private |
Definition at line 117 of file StreamerInputSource.h.
Referenced by deserializeEvent().
|
private |
Definition at line 120 of file StreamerInputSource.h.
Referenced by deserializeEvent(), and read().
|
private |
Definition at line 124 of file StreamerInputSource.h.
Referenced by deserializeRegistry().
|
private |
Definition at line 125 of file StreamerInputSource.h.
Referenced by deserializeRegistry().
|
private |
Definition at line 119 of file StreamerInputSource.h.
Referenced by deserializeEvent(), and read().
|
private |
Definition at line 121 of file StreamerInputSource.h.
Referenced by read().
|
private |
Definition at line 116 of file StreamerInputSource.h.
Referenced by deserializeEvent().
|
private |
Definition at line 118 of file StreamerInputSource.h.
Referenced by deserializeEvent().