LLDB mainline
lldb_private::PipeWindows Class Reference

#include <PipeWindows.h>

Inheritance diagram for lldb_private::PipeWindows:
[legend]

Public Member Functions

 PipeWindows ()
 PipeWindows (lldb::pipe_t read, lldb::pipe_t write)
 ~PipeWindows () override
Status CreateNew () override
Status CreateNew (llvm::StringRef name) override
Status CreateWithUniqueName (llvm::StringRef prefix, llvm::SmallVectorImpl< char > &name) override
Status OpenAsReader (llvm::StringRef name) override
llvm::Error OpenAsWriter (llvm::StringRef name, const Timeout< std::micro > &timeout) override
bool CanRead () const override
bool CanWrite () const override
lldb::pipe_t GetReadPipe () const override
lldb::pipe_t GetWritePipe () const override
int GetReadFileDescriptor () const override
int GetWriteFileDescriptor () const override
int ReleaseReadFileDescriptor () override
int ReleaseWriteFileDescriptor () override
void CloseReadFileDescriptor () override
void CloseWriteFileDescriptor () override
void Close () override
Status Delete (llvm::StringRef name) override
llvm::Expected< size_t > Write (const void *buf, size_t size, const Timeout< std::micro > &timeout=std::nullopt) override
llvm::Expected< size_t > Read (void *buf, size_t size, const Timeout< std::micro > &timeout=std::nullopt) override
HANDLE GetReadNativeHandle ()
HANDLE GetWriteNativeHandle ()
Public Member Functions inherited from lldb_private::PipeBase
virtual ~PipeBase ()

Static Public Attributes

static const int kInvalidDescriptor = -1

Private Member Functions

Status OpenNamedPipe (llvm::StringRef name, bool is_read)

Private Attributes

HANDLE m_read
HANDLE m_write
int m_read_fd
int m_write_fd
OVERLAPPED m_read_overlapped
OVERLAPPED m_write_overlapped

Detailed Description

Definition at line 22 of file PipeWindows.h.

Constructor & Destructor Documentation

◆ PipeWindows() [1/2]

PipeWindows::PipeWindows ( )

◆ PipeWindows() [2/2]

PipeWindows::PipeWindows ( lldb::pipe_t read,
lldb::pipe_t write )

◆ ~PipeWindows()

PipeWindows::~PipeWindows ( )
override

Definition at line 67 of file PipeWindows.cpp.

References Close().

Member Function Documentation

◆ CanRead()

bool PipeWindows::CanRead ( ) const
overridevirtual

◆ CanWrite()

bool PipeWindows::CanWrite ( ) const
overridevirtual

◆ Close()

void PipeWindows::Close ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 250 of file PipeWindows.cpp.

References CloseReadFileDescriptor(), and CloseWriteFileDescriptor().

Referenced by ~PipeWindows().

◆ CloseReadFileDescriptor()

void PipeWindows::CloseReadFileDescriptor ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 224 of file PipeWindows.cpp.

References CanRead(), kInvalidDescriptor, m_read, m_read_fd, and m_read_overlapped.

Referenced by Close(), and CreateNew().

◆ CloseWriteFileDescriptor()

void PipeWindows::CloseWriteFileDescriptor ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 237 of file PipeWindows.cpp.

References CanWrite(), kInvalidDescriptor, m_write, m_write_fd, and m_write_overlapped.

Referenced by Close().

◆ CreateNew() [1/2]

Status PipeWindows::CreateNew ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 69 of file PipeWindows.cpp.

References CreateNew(), and g_pipe_serial().

Referenced by CreateNew(), and CreateWithUniqueName().

◆ CreateNew() [2/2]

◆ CreateWithUniqueName()

Status PipeWindows::CreateWithUniqueName ( llvm::StringRef prefix,
llvm::SmallVectorImpl< char > & name )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 120 of file PipeWindows.cpp.

References CreateNew(), lldb::eErrorTypeWin32, error(), and lldb_private::Status.

◆ Delete()

Status PipeWindows::Delete ( llvm::StringRef name)
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 255 of file PipeWindows.cpp.

References lldb_private::Status.

◆ GetReadFileDescriptor()

int PipeWindows::GetReadFileDescriptor ( ) const
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 196 of file PipeWindows.cpp.

References m_read_fd.

◆ GetReadNativeHandle()

HANDLE PipeWindows::GetReadNativeHandle ( )

Definition at line 262 of file PipeWindows.cpp.

References m_read.

◆ GetReadPipe()

lldb::pipe_t lldb_private::PipeWindows::GetReadPipe ( ) const
inlineoverridevirtual

Implements lldb_private::PipeBase.

Definition at line 45 of file PipeWindows.h.

References m_read.

◆ GetWriteFileDescriptor()

int PipeWindows::GetWriteFileDescriptor ( ) const
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 198 of file PipeWindows.cpp.

References m_write_fd.

◆ GetWriteNativeHandle()

HANDLE PipeWindows::GetWriteNativeHandle ( )

Definition at line 265 of file PipeWindows.cpp.

References m_write.

◆ GetWritePipe()

lldb::pipe_t lldb_private::PipeWindows::GetWritePipe ( ) const
inlineoverridevirtual

Implements lldb_private::PipeBase.

Definition at line 46 of file PipeWindows.h.

References m_write.

◆ OpenAsReader()

Status PipeWindows::OpenAsReader ( llvm::StringRef name)
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 143 of file PipeWindows.cpp.

References CanRead(), OpenNamedPipe(), and lldb_private::Status.

◆ OpenAsWriter()

llvm::Error PipeWindows::OpenAsWriter ( llvm::StringRef name,
const Timeout< std::micro > & timeout )
overridevirtual

◆ OpenNamedPipe()

Status PipeWindows::OpenNamedPipe ( llvm::StringRef name,
bool is_read )
private

◆ Read()

llvm::Expected< size_t > PipeWindows::Read ( void * buf,
size_t size,
const Timeout< std::micro > & timeout = std::nullopt )
overridevirtual

◆ ReleaseReadFileDescriptor()

int PipeWindows::ReleaseReadFileDescriptor ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 200 of file PipeWindows.cpp.

References CanRead(), kInvalidDescriptor, m_read, m_read_fd, and m_read_overlapped.

◆ ReleaseWriteFileDescriptor()

int PipeWindows::ReleaseWriteFileDescriptor ( )
overridevirtual

Implements lldb_private::PipeBase.

Definition at line 212 of file PipeWindows.cpp.

References CanWrite(), kInvalidDescriptor, m_write, m_write_fd, and m_write_overlapped.

◆ Write()

llvm::Expected< size_t > PipeWindows::Write ( const void * buf,
size_t size,
const Timeout< std::micro > & timeout = std::nullopt )
overridevirtual

Member Data Documentation

◆ kInvalidDescriptor

const int lldb_private::PipeWindows::kInvalidDescriptor = -1
static

◆ m_read

HANDLE lldb_private::PipeWindows::m_read
private

◆ m_read_fd

int lldb_private::PipeWindows::m_read_fd
private

◆ m_read_overlapped

OVERLAPPED lldb_private::PipeWindows::m_read_overlapped
private

◆ m_write

HANDLE lldb_private::PipeWindows::m_write
private

◆ m_write_fd

int lldb_private::PipeWindows::m_write_fd
private

◆ m_write_overlapped

OVERLAPPED lldb_private::PipeWindows::m_write_overlapped
private

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