LLDB mainline
|
#include <DomainSocket.h>
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 | |
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 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 |
bool | IsValid () const 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< Pair > | CreatePair () |
static llvm::Expected< std::unique_ptr< DomainSocket > > | FromBoundNativeSocket (NativeSocket sockfd, bool should_close) |
Static Public Member Functions inherited from lldb_private::Socket | |
static std::optional< ProtocolModePair > | GetProtocolAndMode (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< Socket > | Create (const SocketProtocol protocol, Status &error) |
static llvm::Expected< Pair > | CreatePair (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< HostAndPort > | DecodeHostAndPort (llvm::StringRef host_and_port) |
Protected Member Functions | |
DomainSocket (SocketProtocol protocol) | |
DomainSocket (SocketProtocol protocol, NativeSocket socket, bool should_close) | |
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 | |
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 |
Definition at line 17 of file DomainSocket.h.
Definition at line 22 of file DomainSocket.h.
DomainSocket::DomainSocket | ( | NativeSocket | socket, |
bool | should_close ) |
Definition at line 61 of file DomainSocket.cpp.
References lldb_private::Socket::m_socket, lldb_private::Socket::ProtocolUnixDomain, and lldb_private::Socket::Socket().
Referenced by lldb_private::AbstractSocket::AbstractSocket(), lldb_private::AbstractSocket::AbstractSocket(), Accept(), CreatePair(), DomainSocket(), and DomainSocket().
|
explicit |
Definition at line 58 of file DomainSocket.cpp.
References DomainSocket(), and lldb_private::Socket::kInvalidSocketValue.
|
protected |
Definition at line 66 of file DomainSocket.cpp.
References lldb_private::Socket::Socket().
|
protected |
Definition at line 75 of file DomainSocket.cpp.
References lldb_private::Socket::m_socket, and lldb_private::Socket::Socket().
|
private |
Definition at line 69 of file DomainSocket.cpp.
References DomainSocket(), lldb_private::Socket::m_should_close_fd, lldb_private::Socket::m_socket, lldb_private::Socket::ProtocolUnixDomain, and lldb_private::Socket::Socket().
Reimplemented from lldb_private::Socket.
Definition at line 125 of file Socket.cpp.
|
overridevirtual |
Implements lldb_private::Socket.
Definition at line 145 of file DomainSocket.cpp.
References lldb_private::Socket::AcceptSocket(), DomainSocket(), error(), lldb_private::GetLog(), lldb_private::Socket::GetNativeSocket(), lldb_private::Host, LLDB_LOG, and lldb_private::MainLoopBase::RegisterReadObject().
|
overridevirtual |
Implements lldb_private::Socket.
Definition at line 106 of file DomainSocket.cpp.
References lldb_private::Socket::CreateSocket(), error(), lldb_private::Status::FromErrorString(), GetNameOffset(), lldb_private::Socket::GetNativeSocket(), kDomain, kType, lldb_private::Socket::m_socket, lldb_private::Socket::SetLastError(), and SetSockAddr().
|
static |
Definition at line 81 of file DomainSocket.cpp.
References DomainSocket(), and lldb_private::Socket::ProtocolUnixDomain.
Referenced by lldb_private::Socket::CreatePair().
|
protectedvirtual |
Reimplemented in lldb_private::AbstractSocket.
Definition at line 172 of file DomainSocket.cpp.
Referenced by Listen().
|
static |
Definition at line 223 of file DomainSocket.cpp.
|
overridevirtual |
Reimplemented from lldb_private::Socket.
Definition at line 208 of file DomainSocket.cpp.
References lldb_private::Socket::kInvalidSocketValue, and lldb_private::Socket::m_socket.
|
protectedvirtual |
Reimplemented in lldb_private::AbstractSocket.
Definition at line 170 of file DomainSocket.cpp.
Referenced by Connect(), GetRemoteConnectionURI(), GetSocketName(), and Listen().
|
overridevirtual |
Reimplemented from lldb_private::Socket.
Definition at line 198 of file DomainSocket.cpp.
References GetNameOffset(), and GetSocketName().
|
protected |
Definition at line 176 of file DomainSocket.cpp.
References GetNameOffset(), lldb_private::Socket::kInvalidSocketValue, and lldb_private::Socket::m_socket.
Referenced by GetRemoteConnectionURI().
|
overridevirtual |
Implements lldb_private::Socket.
Definition at line 124 of file DomainSocket.cpp.
References lldb_private::Socket::CreateSocket(), DeleteSocketFile(), error(), lldb_private::Status::FromErrorString(), GetNameOffset(), lldb_private::Socket::GetNativeSocket(), kDomain, kType, lldb_private::Socket::m_socket, lldb_private::Socket::SetLastError(), and SetSockAddr().