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 | |
Public Types inherited from senf::ConcreteSocketProtocol< ConnectedRawV4Socket_Policy, ConnectedRawV4SocketProtocol > | |
typedef ConnectedRawV4Socket_Policy | Policy |
The protocols policy. More... | |
Public Member Functions inherited from senf::ConcreteSocketProtocol< ConnectedRawV4Socket_Policy, ConnectedRawV4SocketProtocol > | |
Policy const & | policy () const |
Access the policy instance. More... | |
~ConcreteSocketProtocol ()=0 | |
Public Member Functions inherited from senf::SocketProtocol | |
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 |
Public Member Functions inherited from senf::RawINetSocketProtocol | |
unsigned | available () const |
Return (maximum) number of bytes available for reading without < blocking. More... | |
bool | eof () const |
Check for end-of-file condition. More... | |
Public Member Functions inherited from senf::INetSocketProtocol | |
void | bindInterface (std::string const &iface) const |
Bind socket to specific interface. More... | |
std::string | bindInterface () |
Get bound interface. More... | |
Public Member Functions inherited from senf::BSDSocketProtocol | |
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 |
Public Member Functions inherited from senf::DatagramSocketProtocol | |
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... | |
Public Member Functions inherited from senf::AddressableBSDSocketProtocol | |
bool | reuseaddr () const |
Return current reuseaddr state. More... | |
void | reuseaddr (bool value) const |
Set reuseraddr state. More... | |
Protected Member Functions inherited from senf::ConcreteSocketProtocol< ConnectedRawV4Socket_Policy, ConnectedRawV4SocketProtocol > | |
ClientSocketHandle< Policy > | clientHandle () const |
Get client handle for associated socket. More... | |
ServerSocketHandle< Policy > | serverHandle () const |
Get server handle for associated socket. More... | |
Protected Member Functions inherited from senf::SocketProtocol | |
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.