IPv4 RAW Socket Protocol, connected. More...
#include <senf/Socket/Protocols/INet/ConnectedRawINetSocketHandle.hh>
Constructors | |
void | init_client () const |
Create unconnected client socket for IPPROTO_RAW. More... | |
void | init_client (int const &protocol) const |
Create unconnected client socket for protocol. More... | |
void | init_client (int const &protocol, INet4SocketAddress const &address) const |
Create client socket and connect. More... | |
Additional Inherited Members | |
![]() | |
typedef ConnectedRawV4Socket_Policy | Policy |
The protocols policy. More... | |
![]() | |
Policy const & | policy () const |
Access the policy instance. More... | |
~ConcreteSocketProtocol ()=0 | |
![]() | |
virtual void | close () |
Close socket. More... | |
virtual void | terminate () const |
Forcibly close socket. More... | |
virtual void | state (SocketStateMap &map, unsigned lod) const |
Return socket state information. More... | |
int | fd () const |
Get file descriptor. More... | |
SocketProtocol () | |
virtual | ~SocketProtocol ()=0 |
![]() | |
unsigned | available () const |
Return (maximum) number of bytes available for reading without < blocking. More... | |
bool | eof () const |
Check for end-of-file condition. More... | |
![]() | |
void | bindInterface (std::string const &iface) const |
Bind socket to specific interface. More... | |
std::string | bindInterface () |
Get bound interface. More... | |
![]() | |
std::pair< bool, unsigned > | linger () const |
Return current linger status. More... | |
void | linger (bool enable, unsigned timeout=0) const |
Change linger status. More... | |
boost::uint8_t | priority () const |
Get packet priority assigned to outgoing packets. More... | |
void | priority (boost::uint8_t value) const |
Set packet priority (e.g. TOS) More... | |
int | error () const |
Get and clear pending socket error. More... | |
unsigned | rcvbuf () const |
Check receive buffer size. More... | |
void | rcvbuf (unsigned size) const |
Change receive buffer size. More... | |
unsigned | sndbuf () const |
Check send buffer size. More... | |
void | sndbuf (unsigned size) const |
Change size of send buffer. More... | |
template<unsigned short N> | |
void | attachSocketFilter (::sock_filter(&filter)[N]) |
void | detachSocketFilter () |
void | mtuDiscovery (int mode) const |
void | rcvLowat (unsigned lowWat) const |
void | sndLowat (unsigned lowWat) const |
![]() | |
void | timestamp (struct timespec *spec) const |
Return packet timestamp of last packet. More... | |
ClockService::clock_type | timestamp () const |
Return packet timestamp of last packet. More... | |
![]() | |
bool | reuseaddr () const |
Return current reuseaddr state. More... | |
void | reuseaddr (bool value) const |
Set reuseraddr state. More... | |
![]() | |
ClientSocketHandle< Policy > | clientHandle () const |
Get client handle for associated socket. More... | |
ServerSocketHandle< Policy > | serverHandle () const |
Get server handle for associated socket. More... | |
![]() | |
FileHandle | fh () const |
Get a FileHandle for this instance. More... | |
void | fd (int) const |
Initialize file descriptor. More... | |
IPv4 RAW Socket Protocol, connected.
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 class is utilized as the protocol class of the ProtocolClientSocketHandle via the Socket Handle typedefs above.
Definition at line 74 of file ConnectedRawINetSocketHandle.hh.
void senf::ConnectedRawV4SocketProtocol::init_client | ( | ) | const |
Create unconnected client socket for IPPROTO_RAW.
Definition at line 30 of file ConnectedRawINetSocketHandle.cc.
void senf::ConnectedRawV4SocketProtocol::init_client | ( | int const & | protocol | ) | const |
Create unconnected client socket for protocol.
Definition at line 37 of file ConnectedRawINetSocketHandle.cc.
void senf::ConnectedRawV4SocketProtocol::init_client | ( | int const & | protocol, |
INet4SocketAddress const & | address | ||
) | const |
Create client socket and connect.
Creates a new client socket for the given protocol and connects to the given address.
[in] | protocol | Layer 4 protocol to filter for / to send |
[in] | address | local address to connect to |
Definition at line 47 of file ConnectedRawINetSocketHandle.cc.