Socket wrapper structure.
virtual dhcp::Pkt4Ptr receive4(uint32_t timeout_sec, uint32_t timeout_usec)=0
See description of this method in PerfSocket class below.
virtual dhcp::IfacePtr getIface()=0
See description of this method in PerfSocket class below.
virtual bool send(const dhcp::Pkt6Ptr &pkt)=0
See description of this method in PerfSocket class below.
virtual dhcp::Pkt6Ptr receive6(uint32_t timeout_sec, uint32_t timeout_usec)=0
See description of this method in PerfSocket class below.
BasePerfSocket()
Default constructor of BasePerfSocket.
unsigned int ifindex_
Interface index.
virtual bool send(const dhcp::Pkt4Ptr &pkt)=0
See description of this method in PerfSocket class below.
virtual ~BasePerfSocket()=default
Destructor of the socket wrapper class.
Socket wrapper structure.
virtual ~PerfSocket()
Destructor of the socket wrapper class.
PerfSocket(CommandOptions &options)
Constructor of socket wrapper class.
virtual dhcp::Pkt6Ptr receive6(uint32_t timeout_sec, uint32_t timeout_usec) override
Receive DHCPv6 packet from interface.
virtual dhcp::IfacePtr getIface() override
Get interface from IfaceMgr.
virtual bool send(const dhcp::Pkt4Ptr &pkt) override
Send DHCPv4 packet through interface.
int openSocket(CommandOptions &options) const
Open socket to communicate with DHCP server.
void initSocketData()
Initialize socket data.
virtual dhcp::Pkt4Ptr receive4(uint32_t timeout_sec, uint32_t timeout_usec) override
Receive DHCPv4 packet from interface.
A wrapper interface for the ASIO library.
boost::shared_ptr< Pkt4 > Pkt4Ptr
A pointer to Pkt4 object.
boost::shared_ptr< Iface > IfacePtr
Type definition for the pointer to an Iface object.
boost::shared_ptr< Pkt6 > Pkt6Ptr
A pointer to Pkt6 packet.
Defines the logger used by the top-level component of kea-lfc.
Holds information about socket.
SocketInfo(const isc::asiolink::IOAddress &addr, const uint16_t port, const int sockfd, const int fallbackfd=-1)
SocketInfo constructor.