![]() |
Kea 3.0.0
|
A receiving DHCP packets class. More...
#include <receiver.h>
Public Member Functions | |
| Receiver (BasePerfSocket &socket, bool single_threaded, uint8_t ip_version) | |
| Receiver constructor. | |
| ~Receiver () | |
| Destructor. | |
| dhcp::PktPtr | getPkt () |
| Get DHCP packet. | |
| void | start () |
| Start a receiving thread in multi-thread mode. | |
| void | stop () |
| Stop a receiving thread in multi-thread mode. | |
A receiving DHCP packets class.
Receiver can be used in two modes: single-thread and multi-thread.
In single-thread mode the class directly reads packets from socket and returns them to consumer using getPkt method.
In case of multi-thread mode the class starts a thread in the background. The thread reads the packets and pushes them to pkt_queue_. Then in main thread packets can be consumed from the queue using getPkt method.
Definition at line 34 of file receiver.h.
|
inline |
Receiver constructor.
| socket | A socket for receiving packets. |
| single_threaded | A flag indicating running mode. |
| ip_version | An IP version: 4 or 6 |
Definition at line 61 of file receiver.h.
| isc::perfdhcp::Receiver::~Receiver | ( | ) |
Destructor.
Definition at line 49 of file receiver.cc.
References stop().
| PktPtr isc::perfdhcp::Receiver::getPkt | ( | ) |
Get DHCP packet.
In single-thread mode it reads directly from the socket. In multi-thread mode it reads packets from the queue.
Definition at line 58 of file receiver.cc.
| void isc::perfdhcp::Receiver::start | ( | ) |
Start a receiving thread in multi-thread mode.
In single-thread mode it does nothing.
Definition at line 24 of file receiver.cc.
References isc_throw.
| void isc::perfdhcp::Receiver::stop | ( | ) |
Stop a receiving thread in multi-thread mode.
In single-thread mode it does nothing.
Definition at line 36 of file receiver.cc.
Referenced by ~Receiver().