LLDB mainline
lldb_private::TCPSocket Class Reference

#include <TCPSocket.h>

Inheritance diagram for lldb_private::TCPSocket:
[legend]

Public Types

using Pair
Public Types inherited from lldb_private::Socket
enum  SocketProtocol { ProtocolTcp , ProtocolUdp , ProtocolUnixDomain , ProtocolUnixAbstract }
enum  SocketMode { ModeAccept , ModeConnect }
using ProtocolModePair = std::pair<SocketProtocol, SocketMode>
using Pair = std::pair<std::unique_ptr<Socket>, std::unique_ptr<Socket>>
Public Types inherited from lldb_private::IOObject
enum  FDType { eFDTypeFile , eFDTypeSocket }
using WaitableHandle = lldb::file_t

Public Member Functions

 TCPSocket (bool should_close)
 TCPSocket (NativeSocket socket, bool should_close)
 ~TCPSocket () override
uint16_t GetLocalPortNumber () const
std::string GetLocalIPAddress () const
uint16_t GetRemotePortNumber () const
std::string GetRemoteIPAddress () const
int SetOptionNoDelay ()
int SetOptionReuseAddress ()
Status Connect (llvm::StringRef name) override
Status Listen (llvm::StringRef name, int backlog) override
llvm::Expected< std::vector< MainLoopBase::ReadHandleUP > > Accept (MainLoopBase &loop, std::function< void(std::unique_ptr< Socket > socket)> sock_cb) override
Status CreateSocket (int domain)
bool IsValid () const override
std::string GetRemoteConnectionURI () const override
std::vector< std::string > GetListeningConnectionURI () const override
virtual Status Accept (const Timeout< std::micro > &timeout, Socket *&socket)
Public Member Functions inherited from lldb_private::Socket
 ~Socket () override
int GetOption (int level, int option_name, int &option_value)
int SetOption (int level, int option_name, int option_value)
NativeSocket GetNativeSocket () const
SocketProtocol GetSocketProtocol () const
Status Read (void *buf, size_t &num_bytes) override
Status Write (const void *buf, size_t &num_bytes) override
Status Close () override
WaitableHandle GetWaitableHandle () override
Public Member Functions inherited from lldb_private::IOObject
 IOObject (FDType type)
virtual ~IOObject ()
FDType GetFdType () const

Static Public Member Functions

static llvm::Expected< PairCreatePair ()
Static Public Member Functions inherited from lldb_private::Socket
static std::optional< ProtocolModePairGetProtocolAndMode (llvm::StringRef scheme)
static const char * FindSchemeByProtocol (const SocketProtocol protocol)
static bool FindProtocolByScheme (const char *scheme, SocketProtocol &protocol)
static llvm::Error Initialize ()
static void Terminate ()
static std::unique_ptr< SocketCreate (const SocketProtocol protocol, Status &error)
static llvm::Expected< PairCreatePair (std::optional< SocketProtocol > protocol=std::nullopt)
static llvm::Expected< std::unique_ptr< TCPSocket > > TcpListen (llvm::StringRef host_and_port, int backlog=5)
static llvm::Expected< std::unique_ptr< Socket > > TcpConnect (llvm::StringRef host_and_port)
static llvm::Expected< std::unique_ptr< UDPSocket > > UdpConnect (llvm::StringRef host_and_port)
static int GetOption (NativeSocket sockfd, int level, int option_name, int &option_value)
static int SetOption (NativeSocket sockfd, int level, int option_name, int option_value)
static llvm::Expected< HostAndPortDecodeHostAndPort (llvm::StringRef host_and_port)

Private Member Functions

 TCPSocket (NativeSocket socket, const TCPSocket &listen_socket)
void CloseListenSockets ()

Private Attributes

std::map< int, SocketAddressm_listen_sockets

Additional Inherited Members

Static Public Attributes inherited from lldb_private::Socket
static const NativeSocket kInvalidSocketValue = -1
Static Public Attributes inherited from lldb_private::IOObject
static const WaitableHandle kInvalidHandleValue = -1
Protected Member Functions inherited from lldb_private::Socket
 Socket (SocketProtocol protocol, bool should_close)
virtual size_t Send (const void *buf, const size_t num_bytes)
Static Protected Member Functions inherited from lldb_private::Socket
static int CloseSocket (NativeSocket sockfd)
static Status GetLastError ()
static void SetLastError (Status &error)
static NativeSocket CreateSocket (const int domain, const int type, const int protocol, Status &error)
static NativeSocket AcceptSocket (NativeSocket sockfd, struct sockaddr *addr, socklen_t *addrlen, Status &error)
Protected Attributes inherited from lldb_private::Socket
SocketProtocol m_protocol
NativeSocket m_socket
bool m_should_close_fd
Protected Attributes inherited from lldb_private::IOObject
FDType m_fd_type

Detailed Description

Definition at line 20 of file TCPSocket.h.

Member Typedef Documentation

◆ Pair

Initial value:
std::pair<std::unique_ptr<TCPSocket>, std::unique_ptr<TCPSocket>>

Definition at line 26 of file TCPSocket.h.

Constructor & Destructor Documentation

◆ TCPSocket() [1/3]

TCPSocket::TCPSocket ( bool should_close)
explicit

Definition at line 41 of file TCPSocket.cpp.

References lldb_private::Socket::ProtocolTcp, and lldb_private::Socket::Socket().

Referenced by Accept(), CreatePair(), and TCPSocket().

◆ TCPSocket() [2/3]

TCPSocket::TCPSocket ( NativeSocket socket,
bool should_close )

◆ ~TCPSocket()

TCPSocket::~TCPSocket ( )
override

Definition at line 53 of file TCPSocket.cpp.

References CloseListenSockets().

◆ TCPSocket() [3/3]

TCPSocket::TCPSocket ( NativeSocket socket,
const TCPSocket & listen_socket )
private

Member Function Documentation

◆ Accept() [1/2]

Status Socket::Accept ( const Timeout< std::micro > & timeout,
Socket *& socket )
virtual

Reimplemented from lldb_private::Socket.

Definition at line 125 of file Socket.cpp.

◆ Accept() [2/2]

◆ CloseListenSockets()

void TCPSocket::CloseListenSockets ( )
private

Definition at line 260 of file TCPSocket.cpp.

References lldb_private::Socket::CloseSocket(), and m_listen_sockets.

Referenced by ~TCPSocket().

◆ Connect()

◆ CreatePair()

llvm::Expected< TCPSocket::Pair > TCPSocket::CreatePair ( )
static

Definition at line 55 of file TCPSocket.cpp.

References error(), lldb_private::Socket::Socket(), and TCPSocket().

Referenced by lldb_private::Socket::CreatePair().

◆ CreateSocket()

Status TCPSocket::CreateSocket ( int domain)

◆ GetListeningConnectionURI()

std::vector< std::string > TCPSocket::GetListeningConnectionURI ( ) const
overridevirtual

Reimplemented from lldb_private::Socket.

Definition at line 144 of file TCPSocket.cpp.

References m_listen_sockets.

◆ GetLocalIPAddress()

◆ GetLocalPortNumber()

◆ GetRemoteConnectionURI()

std::string TCPSocket::GetRemoteConnectionURI ( ) const
overridevirtual

◆ GetRemoteIPAddress()

◆ GetRemotePortNumber()

◆ IsValid()

bool TCPSocket::IsValid ( ) const
overridevirtual

◆ Listen()

◆ SetOptionNoDelay()

int TCPSocket::SetOptionNoDelay ( )

Definition at line 311 of file TCPSocket.cpp.

References lldb_private::Socket::SetOption().

Referenced by Connect().

◆ SetOptionReuseAddress()

int TCPSocket::SetOptionReuseAddress ( )

Definition at line 315 of file TCPSocket.cpp.

References lldb_private::Socket::SetOption().

Member Data Documentation

◆ m_listen_sockets

std::map<int, SocketAddress> lldb_private::TCPSocket::m_listen_sockets
private

The documentation for this class was generated from the following files: