21#ifndef GF_TCP_SOCKET_H
22#define GF_TCP_SOCKET_H
32#ifndef DOXYGEN_SHOULD_SKIP_THIS
159#ifndef DOXYGEN_SHOULD_SKIP_THIS
A socket address.
Definition: SocketAddress.h:78
A network socket.
Definition: Socket.h:41
A TCP listener.
Definition: TcpListener.h:58
A TCP socket.
Definition: TcpSocket.h:50
TcpSocket & operator=(TcpSocket &&)=default
Default move assignment.
TcpSocket()=default
Default constructor.
SocketStatus recvBytes(Span< uint8_t > buffer)
Receive a whole buffer from the socket.
TcpSocket(TcpSocket &&)=default
Default move constructor.
SocketDataResult sendRawBytes(Span< const uint8_t > buffer)
Send some bytes over to the socket.
TcpSocket(const std::string &hostname, const std::string &service, SocketFamily family=SocketFamily::Unspec)
Full constructor.
SocketStatus sendBytes(Span< const uint8_t > buffer)
Send a whole buffer to the socket.
SocketDataResult recvRawBytes(Span< uint8_t > buffer)
Receive some bytes from the socket.
SocketStatus sendPacket(const Packet &packet)
Send a packet to the socket.
TcpSocket & operator=(const TcpSocket &)=delete
Deleted copy assignment.
SocketAddress getRemoteAddress() const
Get the remote address of the host.
TcpSocket(const TcpSocket &)=delete
Deleted copy constructor.
SocketStatus recvPacket(Packet &packet)
Receive a packet from the socket.
SocketFamily
A socket family.
Definition: SocketAddress.h:50
implementation-defined SocketHandle
A native socket handle.
Definition: SocketTypes.h:55
SocketStatus
The status of a socket operation.
Definition: SocketTypes.h:76
@ Unspec
Unspecified (either IPv4 or IPv6)
The namespace for gf classes.
A packet of bytes.
Definition: Packet.h:44
The result of a socket operation.
Definition: SocketTypes.h:89