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:
NicolasWinckler
2014-11-10 16:42:08 +01:00
committed by Florian Uhlig
parent eb33bc8280
commit 3e424354e7
5 changed files with 612 additions and 0 deletions

View 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 */