#include <SocketWriter.h>
|
static void | atNextTick (const std::function< void(void)> &callBack) |
|
static void | atNextTick (const std::function< void(void)> &callBack) |
|
Definition at line 65 of file SocketWriter.h.
◆ SocketWriter() [1/2]
core::socket::stream::SocketWriter::SocketWriter |
( |
| ) |
|
|
delete |
◆ SocketWriter() [2/2]
core::socket::stream::SocketWriter::SocketWriter |
( |
const std::string & |
instanceName, |
|
|
const std::function< void(int)> & |
onStatus, |
|
|
const utils::Timeval & |
timeout, |
|
|
std::size_t |
blockSize, |
|
|
const utils::Timeval & |
terminateTimeout |
|
) |
| |
|
explicitprotected |
◆ doWrite()
void core::socket::stream::SocketWriter::doWrite |
( |
| ) |
|
|
private |
Definition at line 91 of file SocketWriter.cpp.
91 {
95
96 if (retWrite > 0) {
97 totalSent +=
static_cast<std::size_t
>(retWrite);
99
102 }
103
106 }
108 }
else if ((errno == EAGAIN || errno == EWOULDBLOCK || errno == EINTR) &&
isSuspended()) {
110 } else {
111 onStatus(retWrite == 0 ? 0 : errno);
112 }
113 } else {
116 }
117
121 }
else if (
source !=
nullptr) {
123 }
124 }
125 }
const std::string & getName() const
virtual void doWriteShutdown(const std::function< void()> &onShutdown)=0
core::pipe::Source * source
std::vector< char > writePuffer
std::function< void()> onShutdown
virtual ssize_t write(const char *chunk, std::size_t chunkLen)
References blockSize, doWriteShutdown(), core::EventReceiver::getName(), core::DescriptorEventReceiver::isSuspended(), markShutdown, onShutdown, onStatus, core::DescriptorEventReceiver::resume(), core::pipe::Source::resume(), source, core::EventReceiver::span(), core::DescriptorEventReceiver::suspend(), totalSent, write(), and writePuffer.
Referenced by writeEvent().
◆ doWriteShutdown()
virtual void core::socket::stream::SocketWriter::doWriteShutdown |
( |
const std::function< void()> & |
onShutdown | ) |
|
|
privatepure virtual |
Implemented in core::socket::stream::tls::SocketConnection< PhysicalSocketT, ConfigT >, core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::legacy::SocketReader, core::socket::stream::legacy::SocketWriter, ConfigT >, and core::socket::stream::SocketConnectionT< PhysicalSocketT, core::socket::stream::tls::SocketReader, core::socket::stream::tls::SocketWriter, ConfigT >.
Referenced by doWrite(), and shutdownWrite().
◆ getTotalQueued()
std::size_t core::socket::stream::SocketWriter::getTotalQueued |
( |
| ) |
const |
|
protected |
◆ getTotalSent()
std::size_t core::socket::stream::SocketWriter::getTotalSent |
( |
| ) |
const |
|
protected |
◆ onSignal()
virtual bool core::socket::stream::SocketWriter::onSignal |
( |
int |
sigNum | ) |
|
|
privatepure virtual |
◆ sendToPeer()
void core::socket::stream::SocketWriter::sendToPeer |
( |
const char * |
chunk, |
|
|
std::size_t |
chunkLen |
|
) |
| |
|
protected |
◆ setBlockSize()
void core::socket::stream::SocketWriter::setBlockSize |
( |
std::size_t |
writeBlockSize | ) |
|
|
protected |
◆ shutdownWrite()
void core::socket::stream::SocketWriter::shutdownWrite |
( |
const std::function< void()> & |
onShutdown | ) |
|
|
protected |
◆ signalEvent()
void core::socket::stream::SocketWriter::signalEvent |
( |
int |
sigNum | ) |
|
|
finalprivatevirtual |
◆ streamEof()
void core::socket::stream::SocketWriter::streamEof |
( |
| ) |
|
|
protected |
◆ streamToPeer()
◆ write()
ssize_t core::socket::stream::SocketWriter::write |
( |
const char * |
chunk, |
|
|
std::size_t |
chunkLen |
|
) |
| |
|
protectedvirtual |
◆ writeEvent()
void core::socket::stream::SocketWriter::writeEvent |
( |
| ) |
|
|
finalprivatevirtual |
◆ blockSize
std::size_t core::socket::stream::SocketWriter::blockSize = 0 |
|
private |
◆ markShutdown
bool core::socket::stream::SocketWriter::markShutdown = false |
|
protected |
◆ onShutdown
std::function<void()> core::socket::stream::SocketWriter::onShutdown |
|
protected |
◆ onStatus
std::function<void(int)> core::socket::stream::SocketWriter::onStatus |
|
private |
◆ shutdownInProgress
bool core::socket::stream::SocketWriter::shutdownInProgress = false |
|
protected |
◆ source
◆ terminateTimeout
◆ totalQueued
std::size_t core::socket::stream::SocketWriter::totalQueued = 0 |
|
private |
◆ totalSent
std::size_t core::socket::stream::SocketWriter::totalSent = 0 |
|
private |
◆ writePuffer
std::vector<char> core::socket::stream::SocketWriter::writePuffer |
|
protected |
The documentation for this class was generated from the following files: