Main Page
Namespaces
Namespace List
Namespace Members
All
Functions
Enumerations
Enumerator
Classes
Class List
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
w
~
Variables
a
b
c
d
e
f
h
i
l
m
n
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Files
File List
File Members
All
Functions
Typedefs
Enumerations
Enumerator
Macros
include
pf_driver
pf
pipeline.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <chrono>
4
#include <condition_variable>
5
#include <thread>
6
#include <vector>
7
#include <memory>
8
#include <mutex>
9
#include <
ros/ros.h
>
10
#include "
pf_driver/queue/readerwriterqueue.h
"
11
#include "
pf_driver/pf/writer.h
"
12
#include "
pf_driver/pf/reader.h
"
13
14
class
PFPacket
;
15
16
class
Pipeline
17
{
18
public
:
19
Pipeline
(std::shared_ptr<
Writer<PFPacket>
> writer, std::shared_ptr<
Reader<PFPacket>
> reader,
20
std::function<
void
()> func, std::shared_ptr<std::mutex> net_mtx,
21
std::shared_ptr<std::condition_variable> net_cv,
bool
& net_fail);
22
23
bool
start
();
24
25
void
terminate
();
26
27
bool
is_running
();
28
29
void
on_shutdown
();
30
31
private
:
32
moodycamel::BlockingReaderWriterQueue<std::unique_ptr<PFPacket>
>
queue_
;
// the queue basically stored scan data
33
std::shared_ptr<Reader<PFPacket>>
reader_
;
34
std::shared_ptr<Writer<PFPacket>>
writer_
;
35
std::function<void()>
shutdown
;
36
std::atomic<bool>
running_
,
shutdown_
;
37
std::thread
reader_thread_
,
writer_thread_
;
38
std::mutex
mutex_
;
39
std::shared_ptr<std::mutex>
net_mtx_
;
40
std::shared_ptr<std::condition_variable>
net_cv_
;
41
bool
&
net_fail_
;
42
43
void
run_writer
();
44
45
void
run_reader
();
46
};
Pipeline::on_shutdown
void on_shutdown()
Definition:
pipeline.cpp:60
Pipeline::writer_
std::shared_ptr< Writer< PFPacket > > writer_
Definition:
pipeline.h:34
ros.h
moodycamel::BlockingReaderWriterQueue
Definition:
readerwriterqueue.h:791
Pipeline
Definition:
pipeline.h:16
Pipeline::net_mtx_
std::shared_ptr< std::mutex > net_mtx_
Definition:
pipeline.h:39
PFPacket
Definition:
pf_packet.h:8
Pipeline::reader_
std::shared_ptr< Reader< PFPacket > > reader_
Definition:
pipeline.h:33
Pipeline::shutdown
std::function< void()> shutdown
Definition:
pipeline.h:35
Pipeline::net_cv_
std::shared_ptr< std::condition_variable > net_cv_
Definition:
pipeline.h:40
reader.h
Pipeline::shutdown_
std::atomic< bool > shutdown_
Definition:
pipeline.h:36
Pipeline::queue_
moodycamel::BlockingReaderWriterQueue< std::unique_ptr< PFPacket > > queue_
Definition:
pipeline.h:32
Pipeline::writer_thread_
std::thread writer_thread_
Definition:
pipeline.h:37
Pipeline::run_writer
void run_writer()
Definition:
pipeline.cpp:69
Pipeline::is_running
bool is_running()
Definition:
pipeline.cpp:55
Pipeline::mutex_
std::mutex mutex_
Definition:
pipeline.h:38
Reader< PFPacket >
Pipeline::net_fail_
bool & net_fail_
Definition:
pipeline.h:41
Pipeline::run_reader
void run_reader()
Definition:
pipeline.cpp:98
Pipeline::running_
std::atomic< bool > running_
Definition:
pipeline.h:36
Pipeline::terminate
void terminate()
Definition:
pipeline.cpp:40
Writer
Definition:
writer.h:7
Pipeline::reader_thread_
std::thread reader_thread_
Definition:
pipeline.h:37
Pipeline::start
bool start()
Definition:
pipeline.cpp:20
readerwriterqueue.h
Pipeline::Pipeline
Pipeline(std::shared_ptr< Writer< PFPacket >> writer, std::shared_ptr< Reader< PFPacket >> reader, std::function< void()> func, std::shared_ptr< std::mutex > net_mtx, std::shared_ptr< std::condition_variable > net_cv, bool &net_fail)
Definition:
pipeline.cpp:5
writer.h
pf_driver
Author(s): Harsh Deshpande
autogenerated on Sun Feb 4 2024 03:32:56