CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EventStreamHttpReader.cc
Go to the documentation of this file.
1 // $Id: EventStreamHttpReader.cc,v 1.42.4.2 2011/03/10 09:00:16 mommsen Exp $
3 
5 #include "EventFilter/StorageManager/src/EventServerProxy.icc"
13 
14 #include <string>
15 
16 
17 namespace edm
18 {
20  (
21  ParameterSet const& pset,
22  InputSourceDescription const& desc
23  ):
24  StreamerInputSource(pset, desc),
25  eventServerProxy_(pset),
26  dropOldLumisectionEvents_(pset.getUntrackedParameter<bool>("dropOldLumisectionEvents", false)),
27  lastLS_(0)
28  {
29  // Default in StreamerInputSource is 'false'
30  inputFileTransitionsEachEvent_ =
31  pset.getUntrackedParameter<bool>("inputFileTransitionsEachEvent", true);
32 
33  readHeader();
34  }
35 
36 
38  {
40  unsigned int currentLS(0);
41 
42  do
43  {
45  if ( data.empty() ) return 0;
46 
47  HeaderView hdrView(&data[0]);
48  if (hdrView.code() == Header::DONE)
49  {
50  setEndRun();
51  return 0;
52  }
53 
54  EventMsgView eventView(&data[0]);
55  currentLS = eventView.lumi();
56  }
57  while (
59  lastLS_ > currentLS
60  );
61 
62  lastLS_ = currentLS;
63  return deserializeEvent(EventMsgView(&data[0]));
64  }
65 
66 
68  {
70 
72  InitMsgView initView(&data[0]);
74  }
75 
76 } //namespace edm
77 
78 
T getUntrackedParameter(std::string const &, T const &) const
uint32 lumi() const
Definition: EventMessage.cc:85
uint32 code() const
Definition: MsgHeader.h:34
void readHeader(xercesc::DOMNode *parentNode, EcalCondHeader &header)
read header from
tuple pset
Definition: CrabTask.py:85
void getInitMsg(CurlInterface::Content &data)
EventPrincipal * deserializeEvent(EventMsgView const &eventView)
void getOneEvent(CurlInterface::Content &data)
stor::EventServerProxy< stor::EventConsumerRegistrationInfo > eventServerProxy_
EventStreamHttpReader(edm::ParameterSet const &, edm::InputSourceDescription const &)
void deserializeAndMergeWithRegistry(InitMsgView const &initView, bool subsequent=false)
std::vector< char > Content
Definition: CurlInterface.h:27
virtual EventPrincipal * read()