LLDB mainline
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
lldb_private::DomainSocket Class Reference

#include <DomainSocket.h>

Inheritance diagram for lldb_private::DomainSocket:
Inheritance graph
[legend]

Public Member Functions

 DomainSocket (NativeSocket socket, bool should_close)
 
 DomainSocket (bool should_close)
 
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
 
std::string GetRemoteConnectionURI () const override
 
std::vector< std::string > GetListeningConnectionURI () const override
 
virtual llvm::Expected< std::vector< MainLoopBase::ReadHandleUP > > Accept (MainLoopBase &loop, std::function< void(std::unique_ptr< Socket > socket)> sock_cb)=0
 
virtual Status Accept (const Timeout< std::micro > &timeout, Socket *&socket)
 
- Public Member Functions inherited from lldb_private::Socket
 ~Socket () override
 
virtual Status Connect (llvm::StringRef name)=0
 
virtual Status Listen (llvm::StringRef name, int backlog)=0
 
virtual llvm::Expected< std::vector< MainLoopBase::ReadHandleUP > > Accept (MainLoopBase &loop, std::function< void(std::unique_ptr< Socket > socket)> sock_cb)=0
 
virtual Status Accept (const Timeout< std::micro > &timeout, Socket *&socket)
 
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
 
bool IsValid () const override
 
WaitableHandle GetWaitableHandle () override
 
virtual std::string GetRemoteConnectionURI () const
 
virtual std::vector< std::string > GetListeningConnectionURI () const
 
- Public Member Functions inherited from lldb_private::IOObject
 IOObject (FDType type)
 
virtual ~IOObject ()
 
virtual Status Read (void *buf, size_t &num_bytes)=0
 
virtual Status Write (const void *buf, size_t &num_bytes)=0
 
virtual bool IsValid () const =0
 
virtual Status Close ()=0
 
FDType GetFdType () const
 
virtual WaitableHandle GetWaitableHandle ()=0
 

Protected Member Functions

 DomainSocket (SocketProtocol protocol)
 
virtual size_t GetNameOffset () const
 
virtual void DeleteSocketFile (llvm::StringRef name)
 
std::string GetSocketName () const
 
- 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)
 

Private Member Functions

 DomainSocket (NativeSocket socket, const DomainSocket &listen_socket)
 

Additional Inherited Members

- Public Types inherited from lldb_private::Socket
enum  SocketProtocol { ProtocolTcp , ProtocolUdp , ProtocolUnixDomain , ProtocolUnixAbstract }
 
- Public Types inherited from lldb_private::IOObject
enum  FDType { eFDTypeFile , eFDTypeSocket }
 
typedef int WaitableHandle
 
- Static Public Member Functions inherited from lldb_private::Socket
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< 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)
 
- 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
 
- 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 17 of file DomainSocket.h.

Constructor & Destructor Documentation

◆ DomainSocket() [1/4]

DomainSocket::DomainSocket ( NativeSocket  socket,
bool  should_close 
)

Definition at line 64 of file DomainSocket.cpp.

References lldb_private::Socket::m_socket.

◆ DomainSocket() [2/4]

DomainSocket::DomainSocket ( bool  should_close)
explicit

Definition at line 61 of file DomainSocket.cpp.

◆ DomainSocket() [3/4]

DomainSocket::DomainSocket ( SocketProtocol  protocol)
protected

Definition at line 69 of file DomainSocket.cpp.

◆ DomainSocket() [4/4]

DomainSocket::DomainSocket ( NativeSocket  socket,
const DomainSocket listen_socket 
)
private

Definition at line 72 of file DomainSocket.cpp.

References lldb_private::Socket::m_socket.

Member Function Documentation

◆ Accept() [1/3]

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

Reimplemented from lldb_private::Socket.

Definition at line 112 of file Socket.cpp.

◆ Accept() [2/3]

llvm::Expected< std::vector< MainLoopBase::ReadHandleUP > > DomainSocket::Accept ( MainLoopBase loop,
std::function< void(std::unique_ptr< Socket > socket)>  sock_cb 
)
overridevirtual

◆ Accept() [3/3]

virtual llvm::Expected< std::vector< MainLoopBase::ReadHandleUP > > lldb_private::Socket::Accept ( MainLoopBase loop,
std::function< void(std::unique_ptr< Socket > socket)>  sock_cb 
)
virtual

Implements lldb_private::Socket.

◆ Connect()

Status DomainSocket::Connect ( llvm::StringRef  name)
overridevirtual

◆ DeleteSocketFile()

void DomainSocket::DeleteSocketFile ( llvm::StringRef  name)
protectedvirtual

Reimplemented in lldb_private::AbstractSocket.

Definition at line 144 of file DomainSocket.cpp.

Referenced by Listen().

◆ GetListeningConnectionURI()

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

◆ GetNameOffset()

size_t DomainSocket::GetNameOffset ( ) const
protectedvirtual

Reimplemented in lldb_private::AbstractSocket.

Definition at line 142 of file DomainSocket.cpp.

Referenced by Connect(), GetRemoteConnectionURI(), GetSocketName(), and Listen().

◆ GetRemoteConnectionURI()

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

Reimplemented from lldb_private::Socket.

Definition at line 170 of file DomainSocket.cpp.

References GetNameOffset(), and GetSocketName().

◆ GetSocketName()

std::string DomainSocket::GetSocketName ( ) const
protected

◆ Listen()

Status DomainSocket::Listen ( llvm::StringRef  name,
int  backlog 
)
overridevirtual

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