ToolDAQFramework
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
UserTools
template
MyToolZMQMultiThread.h
Go to the documentation of this file.
1
#ifndef MYTOOLZMQMultiThread_H
2
#define MYTOOLZMQMultiThread_H
3
4
#include <string>
5
#include <iostream>
6
7
#include "Tool.h"
8
21
struct
MyToolZMQMultiThread_args
:
Thread_args
{
22
23
MyToolZMQMultiThread_args
();
24
~MyToolZMQMultiThread_args
();
25
26
};
27
37
class
MyToolZMQMultiThread
:
public
Tool {
38
39
40
public
:
41
42
MyToolZMQMultiThread
();
43
bool
Initialise
(std::string configfile,
DataModel
&data);
44
bool
Execute
();
45
bool
Finalise
();
46
47
48
private
:
49
50
static
void
Thread
(
Thread_args
* arg);
51
Utilities
*
m_util
;
52
std::vector<MyToolZMQMultiThread_args*>
args
;
53
54
zmq::pollitem_t
items
[2];
55
zmq::socket_t*
ManagerSend
;
56
zmq::socket_t*
ManagerReceive
;
57
58
int
m_freethreads
;
59
60
};
61
62
63
#endif
Utilities
Definition:
Utilities.h:82
MyToolZMQMultiThread::Initialise
bool Initialise(std::string configfile, DataModel &data)
Initialise Function for setting up Tool resorces.
Definition:
MyToolZMQMultiThread.cpp:11
MyToolZMQMultiThread_args::MyToolZMQMultiThread_args
MyToolZMQMultiThread_args()
Definition:
MyToolZMQMultiThread.cpp:3
MyToolZMQMultiThread::Execute
bool Execute()
Executre function used to perform Tool perpose.
Definition:
MyToolZMQMultiThread.cpp:56
Thread_args
Definition:
Utilities.h:29
MyToolZMQMultiThread_args
Definition:
MyToolZMQMultiThread.h:21
MyToolZMQMultiThread
Definition:
MyToolZMQMultiThread.h:37
MyToolZMQMultiThread::m_freethreads
int m_freethreads
Keeps track of free threads.
Definition:
MyToolZMQMultiThread.h:58
MyToolZMQMultiThread::ManagerSend
zmq::socket_t * ManagerSend
Socket to send information to threads.
Definition:
MyToolZMQMultiThread.h:55
MyToolZMQMultiThread::m_util
Utilities * m_util
Pointer to utilities class to help with threading.
Definition:
MyToolZMQMultiThread.h:51
DataModel
Definition:
DataModel.h:39
MyToolZMQMultiThread::Finalise
bool Finalise()
Finalise funciton used to clean up resorces.
Definition:
MyToolZMQMultiThread.cpp:91
MyToolZMQMultiThread::ManagerReceive
zmq::socket_t * ManagerReceive
Socket to receive information form threads.
Definition:
MyToolZMQMultiThread.h:56
MyToolZMQMultiThread_args::~MyToolZMQMultiThread_args
~MyToolZMQMultiThread_args()
Definition:
MyToolZMQMultiThread.cpp:5
MyToolZMQMultiThread::Thread
static void Thread(Thread_args *arg)
Function to be run by the thread in a loop. Make sure not to block in it.
Definition:
MyToolZMQMultiThread.cpp:109
MyToolZMQMultiThread::items
zmq::pollitem_t items[2]
This is used to both inform the poll and store its output. Allows for multitasking sockets...
Definition:
MyToolZMQMultiThread.h:54
MyToolZMQMultiThread::args
std::vector< MyToolZMQMultiThread_args * > args
Vector of thread args (also holds pointers to the threads)
Definition:
MyToolZMQMultiThread.h:52
MyToolZMQMultiThread::MyToolZMQMultiThread
MyToolZMQMultiThread()
Simple constructor.
Definition:
MyToolZMQMultiThread.cpp:8
Generated by
1.8.5