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

View file

@ -64,8 +64,8 @@ public:
void secureAccept();
int secureRead(void *buffer, int size, int &read);
int secureWrite(const void *buffer, int size, int &wrote);
EJobResult doRead() override;
EJobResult doWrite() override;
JobResult doRead() override;
JobResult doWrite() override;
void initSsl(bool server);
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];
memset(buffer, 0, sizeof(buffer));
@ -332,13 +332,13 @@ TCPSocket::EJobResult TCPSocket::doRead()
m_connected = false;
}
m_readable = false;
return kNew;
return JobResult::New;
}
return kRetry;
return JobResult::Retry;
}
TCPSocket::EJobResult TCPSocket::doWrite()
TCPSocket::JobResult TCPSocket::doWrite()
{
// write data
uint32_t bufferSize = 0;
@ -350,10 +350,10 @@ TCPSocket::EJobResult TCPSocket::doWrite()
if (bytesWrote > 0) {
discardWrittenData(bytesWrote);
return kNew;
return JobResult::New;
}
return kRetry;
return JobResult::Retry;
}
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)
{
using enum EventTypes;
using enum JobResult;
Lock lock(&m_mutex);
if (error) {
@ -496,8 +497,8 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
return newJob();
}
EJobResult readResult = kRetry;
EJobResult writeResult = kRetry;
JobResult readResult = Retry;
JobResult writeResult = Retry;
if (write) {
try {
@ -511,19 +512,19 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
sendEvent(SocketDisconnected);
m_connected = false;
}
writeResult = kNew;
writeResult = New;
} catch (XArchNetworkDisconnected &) {
// stream hungup
onDisconnected();
sendEvent(SocketDisconnected);
writeResult = kNew;
writeResult = New;
} catch (XArchNetwork &e) {
// other write error
LOG((CLOG_WARN "error writing socket: %s", e.what()));
onDisconnected();
sendEvent(StreamOutputError);
sendEvent(SocketDisconnected);
writeResult = kNew;
writeResult = New;
}
}
@ -534,17 +535,17 @@ ISocketMultiplexerJob *TCPSocket::serviceConnected(ISocketMultiplexerJob *job, b
// stream hungup
sendEvent(SocketDisconnected);
onDisconnected();
readResult = kNew;
readResult = New;
} catch (XArchNetwork &e) {
// ignore other read error
LOG((CLOG_WARN "error reading socket: %s", e.what()));
}
}
if (readResult == kBreak || writeResult == kBreak)
if (readResult == Break || writeResult == Break)
return nullptr;
if (writeResult == kNew || readResult == kNew)
if (writeResult == New || readResult == New)
return newJob();
return job;

View file

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