#include <pipeline.h>
Public Member Functions | |
| shutter_thread (ThreadBase *ptrThr, pipebase *ptrPipe) | |
| shutter_thread (const shutter_thread &aST) | |
| ~shutter_thread () | |
| int | create (thread_func_t aFunc, void *aData) |
| Before the thread starts, it stores two pointers used at thread's end. | |
| void | join (void) |
| Does the same as the original thread. | |
Private Member Functions | |
| shutter_thread () | |
| shutter_thread & | operator= (const shutter_thread &) |
Static Private Member Functions | |
| static void * | shut_func (void *thisPtr) |
| After the functor returns, shuts the pipeline so readers can stop waiting. | |
Private Attributes | |
| ThreadBase * | _thr |
| pipebase * | _pipe |
| thread_func_t | _subFunc |
| void * | _subData |
If several threads write in this buffer, only their main thread should be of this type, i.e. only one thread will set the flag '_shut'. If the main thread which writes in the inserter, is of this type, when it will be joined, this will terminates the pipe.
| rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::shutter_thread | ( | ) | [private] |
| rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::shutter_thread | ( | ThreadBase * | ptrThr, | |
| pipebase * | ptrPipe | |||
| ) | [inline] |
| rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::shutter_thread | ( | const shutter_thread< ThreadBase > & | aST | ) | [inline] |
| rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::~shutter_thread | ( | ) | [inline] |
| int rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::create | ( | thread_func_t | aFunc, | |
| void * | aData | |||
| ) | [inline] |
Before the thread starts, it stores two pointers used at thread's end.
Then, it behaves just like the thread.
| void rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::join | ( | void | ) | [inline] |
Does the same as the original thread.
| shutter_thread& rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::operator= | ( | const shutter_thread< ThreadBase > & | ) | [private] |
| static void* rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::shut_func | ( | void * | thisPtr | ) | [inline, static, private] |
After the functor returns, shuts the pipeline so readers can stop waiting.
pipebase* rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::_pipe [private] |
void* rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::_subData [private] |
thread_func_t rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::_subFunc [private] |
ThreadBase* rpa::pipebase< Container, CondVar >::shutter_thread< ThreadBase >::_thr [private] |
1.4.7