#include <signal.h>
#include <boost/intrusive/iset_hook.hpp>
#include "ClockService.hh"
-#include "FdManager.hh"
#include "FIFORunner.hh"
#include <senf/Utils/Logger/SenfLog.hh>
#include <sys/socket.h>
#include <errno.h>
#include <senf/Utils/Exception.hh>
-#include "ServerSocketHandle.hh"
//#include "CommunicationPolicy.mpp"
#define prefix_
// Custom includes
#include "NetdeviceController.hh"
-#include <senf/Socket/Protocols/Raw/MACAddress.hh>
#include <net/if.h>
+#include <senf/Utils/Exception.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
// Custom includes
#include <senf/Socket/SocketHandle.hh>
#include <senf/Socket/FileHandle.hh>
-#include <senf/Socket/SocketPolicy.hh>
#include <senf/Socket/CommunicationPolicy.hh>
#include "BSDSocketAddress.hh"
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
-#include <senf/Socket/SocketHandle.hh>
//#include "BSDSocketProtocol.mpp"
#define prefix_
#define CONNECTEDHH_SENF_Socket_Protocols_INet_RawINetSocketHandle_
// Custom includes
-#include "INetSocketProtocol.hh"
+#include "INetAddressing.hh"
#include "RawINetSocketProtocol.hh"
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
#include <senf/Socket/Protocols/DatagramSocketProtocol.hh>
\par Address Type:
INet4SocketAddress
- ConnectedRawV4SocketProtocol provides an internet protocol raw socket based on IPv4 addressing.
- This socket will put data written to it onto the IPv4 layer: if you call writeto don't inlude the header!
+ ConnectedRawV4SocketProtocol provides an Internet protocol raw socket based on IPv4 addressing.
+ This socket will put data written to it onto the IPv4 layer: if you call writeto don't include
+ the header!
On the other hand `read` will return the packet data including the IP header.
- This behaviour is strange and differs from the behaviour of IPv6 RAW sockets and should be changed in the future.
+ This behaviour is strange and differs from the behaviour of IPv6 RAW sockets and should be
+ changed in the future.
This class is utilized as the protocol class of the ProtocolClientSocketHandle
via the Socket Handle typedefs above.
#define HH_SENF_Socket_Protocols_INet_ConnectedUDPSocketHandle_ 1
// Custom includes
-#include "INetSocketProtocol.hh"
+#include "INetAddressing.hh"
#include "UDPSocketProtocol.hh"
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
#include <senf/Socket/Protocols/DatagramSocketProtocol.hh>
#if defined(_REENTRANT) && !defined(__GLIBC__)
#include <boost/thread/mutex.hpp>
#endif
+#include <senf/Socket/Protocols/AddressExceptions.hh>
//#include "INet4Address.mpp"
#define prefix_
#include <boost/operators.hpp>
#include <senf/Utils/safe_bool.hh>
#include <senf/Utils/Tags.hh>
-#include <senf/Socket/Protocols/AddressExceptions.hh>
//#include "INet4Address.mpp"
///////////////////////////////hh.p////////////////////////////////////////
#include <sstream>
#include "INet4Address.hh"
#include <senf/Utils/String.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#include <arpa/inet.h>
#include <netdb.h>
#include <boost/lexical_cast.hpp>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
//#include "INet6Address.mpp"
#define prefix_
#include <senf/Utils/safe_bool.hh>
#include <senf/Utils/Tags.hh>
#include "INet4Address.hh"
-#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Socket/Protocols/Raw/MACAddress.hh>
#include <senf/Socket/Protocols/Raw/EUI64.hh>
// Custom includes
#include "INet6Address.hh"
#include <senf/Utils/String.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/regex.hpp>
#include <senf/Utils/senfassert.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
//#include "INetAddressing.mpp"
#define prefix_
// Custom includes
#include <string>
-#include <exception>
#include <netinet/in.h>
-#include <senf/Socket/SocketPolicy.hh>
-#include <senf/Socket/ClientSocketHandle.hh>
-#include <senf/Socket/CommunicationPolicy.hh>
#include <senf/Socket/Protocols/BSDAddressingPolicy.hh>
#include <senf/Socket/Protocols/BSDSocketAddress.hh>
#include "INet4Address.hh"
// Custom includes
#include "INetAddressing.hh"
#include <senf/Utils/String.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
// Custom includes
#include <senf/Socket/SocketProtocol.hh>
-#include "INetAddressing.hh"
-#include <senf/Socket/ClientSocketHandle.hh>
-#include <senf/Socket/CommunicationPolicy.hh>
//#include "INetSocketProtocol.mpp"
///////////////////////////////hh.p////////////////////////////////////////
// Custom includes
-#include "INetSocketProtocol.hh"
+#include "INetAddressing.hh"
#include "RawINetSocketProtocol.hh"
#include "MulticastSocketProtocol.hh"
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
#include "RawINetSocketProtocol.hh"
// Custom includes
-#include <sys/socket.h>
-#include <netinet/in.h>
#include <sys/ioctl.h>
#include <linux/sockios.h> // for SIOCINQ / SIOCOUTQ
-#include <net/if.h> // for if_nametoindex
-#include <senf/Socket/SocketHandle.hh>
-//#include "UDPSocketProtocol.mpp"
+//#include "RawINetSocketProtocol.mpp"
#define prefix_
///////////////////////////////cc.p////////////////////////////////////////
///////////////////////////////cc.e////////////////////////////////////////
#undef prefix_
-//#include "UDPSocketProtocol.mpp"
+//#include "RawINetSocketProtocol.mpp"
\f
// Local Variables:
#define HH_SENF_Socket_Protocols_INet_RawINetSocketProtocol_
// Custom includes
-#include "INetAddressing.hh"
#include "INetSocketProtocol.hh"
-#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
-#include <senf/Socket/FramingPolicy.hh>
-#include <senf/Socket/CommunicationPolicy.hh>
-#include <senf/Socket/ReadWritePolicy.hh>
-#include <senf/Socket/ProtocolClientSocketHandle.hh>
namespace senf {
// Custom includes
#include "INetSocketProtocol.hh"
#include "TCPSocketProtocol.hh"
+#include "INetAddressing.hh"
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
#include <senf/Socket/FramingPolicy.hh>
#include <senf/Socket/CommunicationPolicy.hh>
#include <netinet/tcp.h>
#include <sys/ioctl.h>
#include <linux/sockios.h> // for SIOCINQ / SIOCOUTQ
-#include <senf/Socket/SocketHandle.hh>
//#include "TCPSocketProtocol.mpp"
#define prefix_
#define HH_SENF_Socket_Protocols_INet_TCPSocketProtocol_ 1
// Custom includes
-#include <senf/Socket/SocketProtocol.hh>
#include "INetSocketProtocol.hh"
//#include "TCPSocketProtocol.mpp"
#define HH_SENF_Socket_Protocols_INet_UDPSocketHandle_ 1
// Custom includes
-#include "INetSocketProtocol.hh"
+#include "INetAddressing.hh"
#include "UDPSocketProtocol.hh"
#include "MulticastSocketProtocol.hh"
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/** \file
- \brief TCPSocketProtocol non-inline non-template implementation
+ \brief UDPSocketProtocol non-inline non-template implementation
*/
#include "UDPSocketProtocol.hh"
//#include "UDPSocketProtocol.ih"
// Custom includes
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
#include <sys/ioctl.h>
#include <linux/sockios.h> // for SIOCINQ / SIOCOUTQ
-#include <net/if.h> // for if_nametoindex
-#include <senf/Socket/SocketHandle.hh>
//#include "UDPSocketProtocol.mpp"
#define prefix_
#define HH_SENF_Socket_Protocols_INet_UDPSocketProtocol_ 1
// Custom includes
-#include <senf/Socket/SocketProtocol.hh>
-#include "INetAddressing.hh"
#include "INetSocketProtocol.hh"
//#include "UDPSocketProtocol.mpp"
// Custom includes
#include "EUI64.hh"
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
// Custom includes
#include <sys/socket.h>
#include <netpacket/packet.h>
-#include <senf/Socket/SocketPolicy.hh>
-#include <senf/Socket/FileHandle.hh>
#include <senf/Socket/Protocols/BSDAddressingPolicy.hh>
#include <senf/Socket/Protocols/BSDSocketAddress.hh>
#include "MACAddress.hh"
or peer() members.
*/
struct LLAddressingPolicy
- : public AddressingPolicyBase,
+ : public BSDAddressingPolicy,
private BSDAddressingPolicyMixin<LLSocketAddress>
{
typedef LLSocketAddress Address;
//#include "LLAddressing.test.ih"
// Custom includes
-#include <senf/Utils/String.hh>
#include "LLAddressing.hh"
+#include <senf/Utils/String.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#include <string>
#include <sstream>
#include <boost/io/ios_state.hpp>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include "ParseString.hh"
#include "EUI64.hh"
#include <boost/type_traits.hpp>
#include <senf/Utils/safe_bool.hh>
#include <senf/Utils/Tags.hh>
-#include <senf/Socket/Protocols/AddressExceptions.hh>
//#include "MACAddress.mpp"
///////////////////////////////hh.p////////////////////////////////////////
#include "MACAddress.hh"
#include <senf/Utils/String.hh>
#include "EUI64.hh"
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#include <senf/Utils/auto_unit_test.hh>
#include <boost/test/test_tools.hpp>
#include <boost/range.hpp>
#include <boost/numeric/conversion/cast.hpp>
#include <senf/Utils/String.hh>
+#include <senf/Socket/Protocols/AddressExceptions.hh>
#define prefix_
///////////////////////////////ct.p////////////////////////////////////////
#include <senf/Socket/CommunicationPolicy.hh>
#include <senf/Socket/ReadWritePolicy.hh>
#include <senf/Socket/Protocols/BSDSocketProtocol.hh>
-#include "LLAddressing.hh"
//#include "TunTapSocketHandle.mpp"
//#include "TunTapSocketHandle.ih"
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <linux/sockios.h> // for SIOCINQ / SIOCOUTQ
+#include "UNAddressing.hh"
#include <senf/Utils/Logger/SenfLog.hh>
#include <senf/Utils/Exception.hh>
// Custom includes
#include <senf/Socket/SocketProtocol.hh>
-#include "UNAddressing.hh"
-#include <senf/Socket/ClientSocketHandle.hh>
-#include <senf/Socket/CommunicationPolicy.hh>
//#include "UNSocketProtocol.mpp"
///////////////////////////////hh.p////////////////////////////////////////
#define HH_SENF_Socket_ServerSocketHandle_ 1
// Custom includes
-#include <boost/static_assert.hpp>
#include <boost/call_traits.hpp>
#include "SocketHandle.hh"
-#include "CommunicationPolicy.hh"
-#include "AddressingPolicy.hh"
//#include "ServerSocketHandle.mpp"
///////////////////////////////hh.p////////////////////////////////////////