mirror of
https://github.com/mfontanini/libtins
synced 2026-01-29 04:54:28 +01:00
Added a default interface to PacketSender.
This commit is contained in:
@@ -83,13 +83,13 @@ const uint32_t PacketSender::DEFAULT_TIMEOUT = 2;
|
||||
}
|
||||
#endif
|
||||
|
||||
PacketSender::PacketSender(uint32_t recv_timeout, uint32_t usec)
|
||||
PacketSender::PacketSender(const NetworkInterface &iface, uint32_t recv_timeout,
|
||||
uint32_t usec)
|
||||
: _sockets(SOCKETS_END, INVALID_RAW_SOCKET),
|
||||
#if !defined(BSD) && !defined(WIN32)
|
||||
_ether_socket(INVALID_RAW_SOCKET),
|
||||
#endif
|
||||
_timeout(recv_timeout),
|
||||
_timeout_usec(usec)
|
||||
_timeout(recv_timeout), _timeout_usec(usec), default_iface(iface)
|
||||
{
|
||||
_types[IP_TCP_SOCKET] = IPPROTO_TCP;
|
||||
_types[IP_UDP_SOCKET] = IPPROTO_UDP;
|
||||
@@ -116,6 +116,14 @@ PacketSender::~PacketSender() {
|
||||
#endif
|
||||
}
|
||||
|
||||
void PacketSender::default_interface(const NetworkInterface &iface) {
|
||||
default_iface = iface;
|
||||
}
|
||||
|
||||
const NetworkInterface& PacketSender::default_interface() {
|
||||
return default_iface;
|
||||
}
|
||||
|
||||
#ifndef WIN32
|
||||
bool PacketSender::ether_socket_initialized(const NetworkInterface& iface) const {
|
||||
#ifdef BSD
|
||||
@@ -219,7 +227,7 @@ void PacketSender::close_socket(SocketType type, const NetworkInterface &iface)
|
||||
}
|
||||
|
||||
void PacketSender::send(PDU &pdu) {
|
||||
pdu.send(*this, NetworkInterface());
|
||||
pdu.send(*this, default_iface);
|
||||
}
|
||||
|
||||
void PacketSender::send(PDU &pdu, const NetworkInterface &iface) {
|
||||
|
||||
Reference in New Issue
Block a user