Compare commits

...

2 Commits

Author SHA1 Message Date
Kyle Schwarz 22d2b7c984 Servd: Adjust buffer sizes 2026-03-18 18:21:55 -04:00
Kyle Schwarz 5a4a1489a8 DXX: Update for max packet size 2026-03-18 15:35:31 -04:00
3 changed files with 17 additions and 8 deletions

View File

@ -360,7 +360,7 @@ if(LIBICSNEO_ENABLE_DXX)
include(FetchContent)
FetchContent_Declare(libredxx
GIT_REPOSITORY https://github.com/Zeranoe/libredxx.git
GIT_TAG 267abf26a99fa69ed80a4180b155245a36fad101
GIT_TAG e823a96c39a64ab41b7d1632dbe8f86bb854df83
)
set(LIBREDXX_DISABLE_INSTALL ON)
FetchContent_MakeAvailable(libredxx)

View File

@ -103,6 +103,14 @@ public:
#endif
}
bool set_rcvbuf(uint32_t size) {
return ::setsockopt(mFD, SOL_SOCKET, SO_RCVBUF, (char*)&size, sizeof(size)) == 0;
}
bool set_sndbuf(uint32_t size) {
return ::setsockopt(mFD, SOL_SOCKET, SO_SNDBUF, (char*)&size, sizeof(size)) == 0;
}
bool connect(const Address& to) {
return ::connect(mFD, (sockaddr*)&to.sockaddr(), sizeof(sockaddr_in)) != -1;
}
@ -203,13 +211,6 @@ public:
return true;
}
bool join_multicast(const std::string& interfaceIP, const std::string& multicastIP) {
ip_mreq mreq;
inet_pton(AF_INET, interfaceIP.c_str(), &mreq.imr_interface);
inet_pton(AF_INET, multicastIP.c_str(), &mreq.imr_multiaddr);
return setsockopt(mFD, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char*)&mreq, sizeof(mreq)) == 0;
}
operator bool() const { return mFD != -1; }
operator SocketHandleType() const { return mFD; }
private:

View File

@ -116,6 +116,14 @@ bool Servd::open() {
return false;
}
dataSocket = std::make_unique<Socket>(AF_INET, SOCK_STREAM, 0);
if(!dataSocket->set_rcvbuf(4 * 1024 * 1024)) {
EventManager::GetInstance().add(APIEvent::Type::SyscallError, APIEvent::Severity::Error);
return false;
}
if(!dataSocket->set_sndbuf(4 * 1024 * 1024)) {
EventManager::GetInstance().add(APIEvent::Type::SyscallError, APIEvent::Severity::Error);
return false;
}
const auto& ip = tokens[0];
uint16_t port = 0;
try {