CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FragmentProcessor.h
Go to the documentation of this file.
1 // $Id: FragmentProcessor.h,v 1.6 2011/03/07 15:31:32 mommsen Exp $
3 
4 #ifndef EventFilter_StorageManager_FragmentProcessor_h
5 #define EventFilter_StorageManager_FragmentProcessor_h
6 
7 #include "toolbox/lang/Class.h"
8 #include "toolbox/task/WaitingWorkLoop.h"
9 #include "xdaq/Application.h"
10 
11 #include "boost/date_time/posix_time/posix_time_types.hpp"
12 #include "boost/shared_ptr.hpp"
13 
20 
21 
22 namespace stor {
23 
24  class I2OChain;
25  class QueueID;
26 
27 
40  class FragmentProcessor : public toolbox::lang::Class
41  {
42  public:
43 
44  FragmentProcessor( xdaq::Application *app, SharedResourcesPtr sr );
45 
47 
53  bool processMessages(toolbox::task::WorkLoop*);
54 
58  void startWorkLoop(std::string workloopName);
59 
60 
61  private:
62 
66  void processAllCommands();
67 
72 
77 
82  void processOneFragment();
83 
84  xdaq::Application* app_;
90 
91  boost::posix_time::time_duration timeout_; // Waiting time
93 
94  toolbox::task::WorkLoop* processWL_;
95 
96  };
97 
98 } // namespace stor
99 
100 #endif // EventFilter_StorageManager_FragmentProcessor_h
101 
102 
SharedResourcesPtr sharedResources_
xdaq::Application * app_
toolbox::task::WorkLoop * processWL_
FragmentProcessor(xdaq::Application *app, SharedResourcesPtr sr)
bool processMessages(toolbox::task::WorkLoop *)
boost::shared_ptr< SharedResources > SharedResourcesPtr
boost::shared_ptr< StateMachine > StateMachinePtr
Definition: StateMachine.h:587
EventDistributor eventDistributor_
boost::posix_time::time_duration timeout_
void startWorkLoop(std::string workloopName)
WrapperNotifier wrapperNotifier_
StateMachinePtr stateMachine_