refactor: TCPSocket::EJobResult => enum class TCPSocket::JobResult

This commit is contained in:
sithlord48 2025-07-08 10:16:55 -04:00 committed by Chris Rizzitello
parent 32e6a84a6f
commit 94be5f7498
4 changed files with 39 additions and 36 deletions

View file

@ -109,8 +109,9 @@ void SecureSocket::secureAccept()
)); ));
} }
TCPSocket::EJobResult SecureSocket::doRead() TCPSocket::JobResult SecureSocket::doRead()
{ {
using enum JobResult;
static uint8_t buffer[4096]; static uint8_t buffer[4096];
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
int bytesRead = 0; int bytesRead = 0;
@ -119,12 +120,12 @@ TCPSocket::EJobResult SecureSocket::doRead()
if (isSecureReady()) { if (isSecureReady()) {
status = secureRead(buffer, sizeof(buffer), bytesRead); status = secureRead(buffer, sizeof(buffer), bytesRead);
if (status < 0) { if (status < 0) {
return kBreak; return Break;
} else if (status == 0) { } else if (status == 0) {
return kNew; return New;
} }
} else { } else {
return kRetry; return Retry;
} }
if (bytesRead > 0) { if (bytesRead > 0) {
@ -140,7 +141,7 @@ TCPSocket::EJobResult SecureSocket::doRead()
status = secureRead(buffer, sizeof(buffer), bytesRead); status = secureRead(buffer, sizeof(buffer), bytesRead);
if (status < 0) { if (status < 0) {
return kBreak; return Break;
} }
} while (bytesRead > 0 || status > 0); } while (bytesRead > 0 || status > 0);
@ -158,14 +159,15 @@ TCPSocket::EJobResult SecureSocket::doRead()
m_connected = false; m_connected = false;
} }
m_readable = false; m_readable = false;
return kNew; return New;
} }
return kRetry; return Retry;
} }
TCPSocket::EJobResult SecureSocket::doWrite() TCPSocket::JobResult SecureSocket::doWrite()
{ {
using enum JobResult;
static bool s_retry = false; static bool s_retry = false;
static int s_retrySize = 0; static int s_retrySize = 0;
static int s_staticBufferSize = 0; static int s_staticBufferSize = 0;
@ -190,7 +192,7 @@ TCPSocket::EJobResult SecureSocket::doWrite()
} }
if (bufferSize == 0) { if (bufferSize == 0) {
return kRetry; return Retry;
} }
if (isSecureReady()) { if (isSecureReady()) {
@ -199,22 +201,22 @@ TCPSocket::EJobResult SecureSocket::doWrite()
s_retry = false; s_retry = false;
bufferSize = 0; bufferSize = 0;
} else if (status < 0) { } else if (status < 0) {
return kBreak; return Break;
} else if (status == 0) { } else if (status == 0) {
s_retry = true; s_retry = true;
s_retrySize = bufferSize; s_retrySize = bufferSize;
return kNew; return New;
} }
} else { } else {
return kRetry; return Retry;
} }
if (bytesWrote > 0) { if (bytesWrote > 0) {
discardWrittenData(bytesWrote); discardWrittenData(bytesWrote);
return kNew; return New;
} }
return kRetry; return Retry;
} }
int SecureSocket::secureRead(void *buffer, int size, int &read) int SecureSocket::secureRead(void *buffer, int size, int &read)

View file

@ -64,8 +64,8 @@ public:
void secureAccept(); void secureAccept();
int secureRead(void *buffer, int size, int &read); int secureRead(void *buffer, int size, int &read);
int secureWrite(const void *buffer, int size, int &wrote); int secureWrite(const void *buffer, int size, int &wrote);
EJobResult doRead() override; JobResult doRead() override;
EJobResult doWrite() override; JobResult doWrite() override;
void initSsl(bool server); void initSsl(bool server);
bool loadCertificates(const std::string &CertFile); bool loadCertificates(const std::string &CertFile);

View file

@ -296,7 +296,7 @@ void TCPSocket::init()
} }
} }
TCPSocket::EJobResult TCPSocket::doRead() TCPSocket::JobResult TCPSocket::doRead()
{ {
uint8_t buffer[4096]; uint8_t buffer[4096];
memset(buffer, 0, sizeof(buffer)); memset(buffer, 0, sizeof(buffer));
@ -332,13 +332,13 @@ TCPSocket::EJobResult TCPSocket::doRead()
m_connected = false; m_connected = false;
} }
m_readable = false; m_readable = false;
return kNew; return JobResult::New;
} }
return kRetry; return JobResult::Retry;
} }
TCPSocket::EJobResult TCPSocket::doWrite() TCPSocket::JobResult TCPSocket::doWrite()
{ {
// write data // write data
uint32_t bufferSize = 0; uint32_t bufferSize = 0;
@ -350,10 +350,10 @@ TCPSocket::EJobResult TCPSocket::doWrite()
if (bytesWrote > 0) { if (bytesWrote > 0) {
discardWrittenData(bytesWrote); discardWrittenData(bytesWrote);
return kNew; return JobResult::New;
} }
return kRetry; return JobResult::Retry;
} }
void TCPSocket::setJob(ISocketMultiplexerJob *job) void TCPSocket::setJob(ISocketMultiplexerJob *job)
@ -488,6 +488,7 @@ ISocketMultiplexerJob *TCPSocket::serviceConnecting(ISocketMultiplexerJob *job,
ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, bool read, bool write, bool error) ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, bool read, bool write, bool error)
{ {
using enum EventTypes; using enum EventTypes;
using enum JobResult;
Lock lock(&m_mutex); Lock lock(&m_mutex);
if (error) { if (error) {
@ -496,8 +497,8 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
return newJob(); return newJob();
} }
EJobResult readResult = kRetry; JobResult readResult = Retry;
EJobResult writeResult = kRetry; JobResult writeResult = Retry;
if (write) { if (write) {
try { try {
@ -511,19 +512,19 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
sendEvent(SocketDisconnected); sendEvent(SocketDisconnected);
m_connected = false; m_connected = false;
} }
writeResult = kNew; writeResult = New;
} catch (XArchNetworkDisconnected &) { } catch (XArchNetworkDisconnected &) {
// stream hungup // stream hungup
onDisconnected(); onDisconnected();
sendEvent(SocketDisconnected); sendEvent(SocketDisconnected);
writeResult = kNew; writeResult = New;
} catch (XArchNetwork &e) { } catch (XArchNetwork &e) {
// other write error // other write error
LOG((CLOG_WARN "error writing socket: %s", e.what())); LOG((CLOG_WARN "error writing socket: %s", e.what()));
onDisconnected(); onDisconnected();
sendEvent(StreamOutputError); sendEvent(StreamOutputError);
sendEvent(SocketDisconnected); sendEvent(SocketDisconnected);
writeResult = kNew; writeResult = New;
} }
} }
@ -534,17 +535,17 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
// stream hungup // stream hungup
sendEvent(SocketDisconnected); sendEvent(SocketDisconnected);
onDisconnected(); onDisconnected();
readResult = kNew; readResult = New;
} catch (XArchNetwork &e) { } catch (XArchNetwork &e) {
// ignore other read error // ignore other read error
LOG((CLOG_WARN "error reading socket: %s", e.what())); LOG((CLOG_WARN "error reading socket: %s", e.what()));
} }
} }
if (readResult == kBreak || writeResult == kBreak) if (readResult == Break || writeResult == Break)
return nullptr; return nullptr;
if (writeResult == kNew || readResult == kNew) if (writeResult == New || readResult == New)
return newJob(); return newJob();
return job; return job;

View file

@ -59,11 +59,11 @@ public:
virtual ISocketMultiplexerJob *newJob(); virtual ISocketMultiplexerJob *newJob();
protected: protected:
enum EJobResult enum class JobResult
{ {
kBreak = -1, //!< Break the Job chain Break = -1, //!< Break the Job chain
kRetry, //!< Retry the same job Retry, //!< Retry the same job
kNew //!< Require a new job New //!< Require a new job
}; };
ArchSocket getSocket() ArchSocket getSocket()
@ -74,8 +74,8 @@ protected:
{ {
return m_events; return m_events;
} }
virtual EJobResult doRead(); virtual JobResult doRead();
virtual EJobResult doWrite(); virtual JobResult doWrite();
void setJob(ISocketMultiplexerJob *); void setJob(ISocketMultiplexerJob *);