Skip to content

Commit dbc6f70

Browse files
committed
Networking (Windows): fix libz loading; use TCP_FASTOPEN if available
1 parent dfc9bc2 commit dbc6f70

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/common/networking/networking_common.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,13 @@ const char* ffNetworkingLoadZlibLibrary(void)
2222
if (!zlibData.inited)
2323
{
2424
zlibData.inited = true;
25-
FF_LIBRARY_LOAD(zlib, "dlopen libz failed", "libz" FF_LIBRARY_EXTENSION, 2)
25+
FF_LIBRARY_LOAD(zlib, "dlopen libz failed",
26+
#ifdef _WIN32
27+
"zlib1"
28+
#else
29+
"libz"
30+
#endif
31+
FF_LIBRARY_EXTENSION, 2)
2632
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflateInit2_)
2733
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflate)
2834
FF_LIBRARY_LOAD_SYMBOL_VAR_MESSAGE(zlib, zlibData, inflateEnd)

src/common/networking/networking_windows.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,25 @@ const char* ffNetworkingSendHttpRequest(FFNetworkingState* state, const char* ho
105105
return "socket() failed";
106106
}
107107

108+
DWORD flag = 1;
108109
#ifdef TCP_NODELAY
109110
// Enable TCP_NODELAY to disable Nagle's algorithm
110-
DWORD flag = 1;
111111
if (setsockopt(state->sockfd, IPPROTO_TCP, TCP_NODELAY, (char*)&flag, sizeof(flag)) != 0) {
112112
FF_DEBUG("Failed to set TCP_NODELAY: %d", WSAGetLastError());
113113
} else {
114114
FF_DEBUG("Successfully disabled Nagle's algorithm");
115115
}
116116
#endif
117117

118+
#ifdef TCP_FASTOPEN
119+
// Set TCP Fast Open
120+
if (setsockopt(state->sockfd, IPPROTO_TCP, TCP_FASTOPEN, (char*)&flag, sizeof(flag)) != 0) {
121+
FF_DEBUG("Failed to set TCP_FASTOPEN option: %d", WSAGetLastError());
122+
} else {
123+
FF_DEBUG("Successfully set TCP_FASTOPEN option");
124+
}
125+
#endif
126+
118127
// Set timeout if needed
119128
if (state->timeout > 0) {
120129
FF_DEBUG("Setting connection timeout: %u ms", state->timeout);

0 commit comments

Comments
 (0)