mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-15 17:41:45 +00:00
add 1) generic MQ-devices (Sampler, Processor, and FileSink) in fairmq, 2) policy classes in base/MQ and 3) a Tutorial7 in example
This commit is contained in:
committed by
Florian Uhlig
parent
eb33bc8280
commit
3e424354e7
46
fairmq/devices/GenericFileSink.h
Normal file
46
fairmq/devices/GenericFileSink.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* File: GenericFileSink.h
|
||||
* Author: winckler
|
||||
*
|
||||
* Created on October 7, 2014, 6:06 PM
|
||||
*/
|
||||
|
||||
#ifndef GENERICFILESINK_H
|
||||
#define GENERICFILESINK_H
|
||||
|
||||
#include "FairMQDevice.h"
|
||||
#include <boost/thread.hpp>
|
||||
#include <boost/bind.hpp>
|
||||
#include "FairMQLogger.h"
|
||||
|
||||
template <typename InputPolicy, typename OutputPolicy>
|
||||
class GenericFileSink : public FairMQDevice, public InputPolicy, public OutputPolicy
|
||||
{
|
||||
using InputPolicy::message;
|
||||
//using OutputPolicy::InitOutFile;
|
||||
using OutputPolicy::AddToFile;
|
||||
|
||||
public:
|
||||
GenericFileSink();
|
||||
virtual ~GenericFileSink();
|
||||
|
||||
template <typename... Args>
|
||||
void InitInputPolicyContainer(Args... args)
|
||||
{
|
||||
InputPolicy::InitContainer(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
|
||||
virtual void SetTransport(FairMQTransportFactory* transport);
|
||||
virtual void InitOutputFile();
|
||||
|
||||
protected:
|
||||
virtual void Run();
|
||||
virtual void Init();
|
||||
|
||||
};
|
||||
|
||||
#include "GenericFileSink.tpl"
|
||||
|
||||
#endif /* GENERICFILESINK_H */
|
||||
|
Reference in New Issue
Block a user