IPv4 TCP Socket Protocol. More...
#include <senf/Socket/Protocols/INet/TCPSocketHandle.hh>
Constructors | |
void | init_client () const |
Create unconnected client socket. More... | |
void | init_client (INet4SocketAddress const &address) const |
Create client socket and connect. More... | |
void | init_server () const |
Create server socket. More... | |
void | init_server (INet4SocketAddress const &address, unsigned backlog=1) const |
Create server socket and listen. More... | |
Additional Inherited Members | |
Public Types inherited from senf::ConcreteSocketProtocol< TCPv4Socket_Policy, TCPv4SocketProtocol > | |
typedef TCPv4Socket_Policy | Policy |
The protocols policy. More... | |
Public Types inherited from senf::TCPSocketProtocol | |
enum | ShutType { ShutRD, ShutWR, ShutRDWR } |
Public Member Functions inherited from senf::ConcreteSocketProtocol< TCPv4Socket_Policy, TCPv4SocketProtocol > | |
Policy const & | policy () const |
Access the policy instance. More... | |
~ConcreteSocketProtocol ()=0 | |
Public Member Functions inherited from senf::SocketProtocol | |
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::TCPSocketProtocol | |
bool | nodelay () const |
Check current SO_NODELAY status. More... | |
void | nodelay (bool value) const |
Set SO_NODELAY status. More... | |
unsigned | siocinq () const |
Return current size of the input queue. More... | |
unsigned | siocoutq () const |
Return current size of the output queue. More... | |
void | shutdown (ShutType type) const |
void | close () |
Close socket. More... | |
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::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< TCPv4Socket_Policy, TCPv4SocketProtocol > | |
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 TCP Socket Protocol.
TCPv4SocketProtocol provides an internet protocol stream socket based on the TCP protocol and IPv4 addressing.
This class is utilized as the protocol class of the ProtocolClientSocketHandle and ProtocolServerSocketHandle via the Socket Handle typedefs above.
Definition at line 72 of file TCPSocketHandle.hh.
void senf::TCPv4SocketProtocol::init_client | ( | ) | const |
Create unconnected client socket.
Definition at line 35 of file TCPSocketHandle.cc.
void senf::TCPv4SocketProtocol::init_client | ( | INet4SocketAddress const & | address | ) | const |
Create client socket and connect.
Creates a new client socket and connects to the given address.
[in] | address | remote address to connect to |
Definition at line 45 of file TCPSocketHandle.cc.
void senf::TCPv4SocketProtocol::init_server | ( | ) | const |
Create server socket.
Definition at line 52 of file TCPSocketHandle.cc.
void senf::TCPv4SocketProtocol::init_server | ( | INet4SocketAddress const & | address, |
unsigned | backlog = 1 |
||
) | const |
Create server socket and listen.
Creates a new server socket, binds to address end starts listening for new connections with a backlog of backlog connections. It also enables reuseaddr().
[in] | address | address to listen on |
[in] | backlog | size of the listen backlog |
Definition at line 61 of file TCPSocketHandle.cc.