diff --git a/CMakeLists.txt b/CMakeLists.txt index 56ed704e0..1dc4f8e74 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,13 +103,6 @@ set(GLIB_MINIMUM 2.32.0) set(GIO_MINIMUM 2.26.0) set(LIBAPPINDICATOR_MINIMUM 0.4.90) -tr_github_upstream(EVENT2 transmission/libevent c51b159cff 7be95856a39714dfd2218cb56415c990) -tr_github_upstream(NATPMP transmission/libnatpmp cf7f452d66 f1e7d5bf580972738d8ef21743d0adf7) -tr_github_upstream(MINIUPNPC transmission/miniupnp 5de2bcb561 bdc5b64b9b8401d3524c50b9ec8173c1) -tr_github_upstream(DHT transmission/dht cc379e406d 958253fafa01c59950d357c148aff090) -tr_github_upstream(UTP transmission/libutp 7c4f19abdf 8b92aa05abec5f6675cdde6477cd6f51) -tr_github_upstream(B64 transmission/libb64 c1e3323498 10128cb30ad768d2c4caf627e0f69db3) - if(WIN32) foreach(L C CXX) # Target version (Vista and up) @@ -292,31 +285,20 @@ endif() set(THIRD_PARTY_DIR ${CMAKE_SOURCE_DIR}/third-party) if(WIN32) - tr_add_external_auto_library(EVENT2 event - PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/event2.cmake" "/CMakeLists.txt" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 -i "${THIRD_PARTY_DIR}/event2-01-win32.patch" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 -i "${THIRD_PARTY_DIR}/event2-02-win32.patch") + tr_add_external_auto_library(EVENT2 libevent event) else() - tr_add_external_auto_library(EVENT2 event + tr_add_external_auto_library(EVENT2 libevent event BUILD_IN_SOURCE 1 CONFIGURE_COMMAND "/autogen.sh" COMMAND "/configure" "--prefix=" "--disable-shared") endif() -tr_add_external_auto_library(NATPMP natpmp - PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/natpmp.cmake" "/CMakeLists.txt") +tr_add_external_auto_library(NATPMP libnatpmp natpmp) if(NOT USE_SYSTEM_NATPMP) set(NATPMP_DEFINITIONS -DNATPMP_STATICLIB) endif() -tr_add_external_auto_library(MINIUPNPC miniupnpc - PATCH_COMMAND "${CMAKE_COMMAND}" -E remove_directory "/minissdpd" - COMMAND "${CMAKE_COMMAND}" -E remove_directory "/miniupnpc-async" - COMMAND "${CMAKE_COMMAND}" -E remove_directory "/miniupnpc-libevent" - COMMAND "${CMAKE_COMMAND}" -E remove_directory "/miniupnpd" - COMMAND "${CMAKE_COMMAND}" -E remove "/README" - COMMAND "${CMAKE_COMMAND}" -E copy_directory "/miniupnpc" "" - COMMAND "${CMAKE_COMMAND}" -E remove_directory "/miniupnpc" +tr_add_external_auto_library(MINIUPNPC miniupnpc miniupnpc CMAKE_ARGS -DUPNPC_BUILD_STATIC=ON -DUPNPC_BUILD_SHARED=OFF @@ -328,22 +310,13 @@ if(NOT USE_SYSTEM_MINIUPNPC) set(MINIUPNPC_API_VERSION 12) endif() -tr_add_external_auto_library(DHT dht - PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/dht.cmake" "/CMakeLists.txt") +tr_add_external_auto_library(DHT dht dht) if(ENABLE_UTP) - tr_add_external_auto_library(UTP utp - PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/utp.cmake" "/CMakeLists.txt" - COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/utp_config.h" "/utp_config.h" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-01-ticket-5002.patch" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-02-win32.patch" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-03-msvc14.patch") + tr_add_external_auto_library(UTP libutp utp) endif() -tr_add_external_auto_library(B64 b64 - PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/b64.cmake" "/CMakeLists.txt" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 -i "${THIRD_PARTY_DIR}/b64-01-newline.patch" - COMMAND "${CMAKE_COMMAND}" -E chdir "" patch -p1 -i "${THIRD_PARTY_DIR}/b64-02-unsigned-char.patch") +tr_add_external_auto_library(B64 libb64 b64) if(WITH_INOTIFY) tr_get_required_flag(WITH_INOTIFY INOTIFY_IS_REQUIRED) diff --git a/cmake/TrMacros.cmake b/cmake/TrMacros.cmake index 1e73bc1fb..565ab5e67 100644 --- a/cmake/TrMacros.cmake +++ b/cmake/TrMacros.cmake @@ -69,15 +69,7 @@ function(tr_make_id INPUT OVAR) set(${OVAR} "${ID}" PARENT_SCOPE) endfunction() -macro(tr_github_upstream ID REPOID RELID RELMD5) - set(${ID}_RELEASE "${RELID}") - set(${ID}_UPSTREAM URL "https://github.com/${REPOID}/archive/${RELID}.tar.gz") - if(NOT SKIP_UPSTREAM_CHECKSUM) - list(APPEND ${ID}_UPSTREAM URL_MD5 "${RELMD5}") - endif() -endmacro() - -macro(tr_add_external_auto_library ID LIBNAME) +macro(tr_add_external_auto_library ID DIRNAME LIBNAME) if(USE_SYSTEM_${ID}) tr_get_required_flag(USE_SYSTEM_${ID} SYSTEM_${ID}_IS_REQUIRED) find_package(${ID} ${${ID}_MINIMUM} ${SYSTEM_${ID}_IS_REQUIRED}) @@ -87,7 +79,7 @@ macro(tr_add_external_auto_library ID LIBNAME) if(USE_SYSTEM_${ID}) unset(${ID}_UPSTREAM_TARGET) else() - set(${ID}_UPSTREAM_TARGET ${LIBNAME}-${${ID}_RELEASE}) + set(${ID}_UPSTREAM_TARGET ${LIBNAME}) set(${ID}_PREFIX "${CMAKE_BINARY_DIR}/third-party/${${ID}_UPSTREAM_TARGET}") set(${ID}_INCLUDE_DIR "${${ID}_PREFIX}/include" CACHE INTERNAL "") @@ -98,7 +90,7 @@ macro(tr_add_external_auto_library ID LIBNAME) ExternalProject_Add( ${${ID}_UPSTREAM_TARGET} - ${${ID}_UPSTREAM} + URL "${CMAKE_SOURCE_DIR}/third-party/${DIRNAME}" ${ARGN} PREFIX "${${ID}_PREFIX}" CMAKE_ARGS diff --git a/third-party/b64-01-newline.patch b/third-party/b64-01-newline.patch deleted file mode 100644 index a367329f8..000000000 --- a/third-party/b64-01-newline.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/src/cencode.c b/src/cencode.c ---- a/src/cencode.c -+++ b/src/cencode.c -@@ -7,7 +7,9 @@ For details, see http://sourceforge.net/projects/libb64 - - #include - -+/* - const int CHARS_PER_LINE = 72; -+*/ - - void base64_init_encodestate(base64_encodestate* state_in) - { -@@ -72,12 +74,14 @@ int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, - result = (fragment & 0x03f) >> 0; - *codechar++ = base64_encode_value(result); - -+ /* - ++(state_in->stepcount); - if (state_in->stepcount == CHARS_PER_LINE/4) - { - *codechar++ = '\n'; - state_in->stepcount = 0; - } -+ */ - } - } - /* control should not reach here */ -@@ -102,7 +106,9 @@ int base64_encode_blockend(char* code_out, base64_encodestate* state_in) - case step_A: - break; - } -+ /* - *codechar++ = '\n'; -+ */ - - return codechar - code_out; - } diff --git a/third-party/b64-02-unsigned-char.patch b/third-party/b64-02-unsigned-char.patch deleted file mode 100644 index 062a0e7a4..000000000 --- a/third-party/b64-02-unsigned-char.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/src/cdecode.c b/src/cdecode.c ---- a/src/cdecode.c -+++ b/src/cdecode.c -@@ -9,7 +9,7 @@ - - int base64_decode_value(char value_in) - { -- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; -+ static const signed char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; - static const char decoding_size = sizeof(decoding); - value_in -= 43; - if (value_in < 0 || value_in >= decoding_size) return -1; -@@ -26,7 +26,7 @@ - { - const char* codechar = code_in; - char* plainchar = plaintext_out; -- char fragment; -+ int fragment; - - *plainchar = state_in->plainchar; - -@@ -42,7 +42,7 @@ - state_in->plainchar = *plainchar; - return plainchar - plaintext_out; - } -- fragment = (char)base64_decode_value(*codechar++); -+ fragment = base64_decode_value(*codechar++); - } while (fragment < 0); - *plainchar = (fragment & 0x03f) << 2; - case step_b: -@@ -53,7 +53,7 @@ - state_in->plainchar = *plainchar; - return plainchar - plaintext_out; - } -- fragment = (char)base64_decode_value(*codechar++); -+ fragment = base64_decode_value(*codechar++); - } while (fragment < 0); - *plainchar++ |= (fragment & 0x030) >> 4; - *plainchar = (fragment & 0x00f) << 4; -@@ -65,7 +65,7 @@ - state_in->plainchar = *plainchar; - return plainchar - plaintext_out; - } -- fragment = (char)base64_decode_value(*codechar++); -+ fragment = base64_decode_value(*codechar++); - } while (fragment < 0); - *plainchar++ |= (fragment & 0x03c) >> 2; - *plainchar = (fragment & 0x003) << 6; -@@ -77,7 +77,7 @@ - state_in->plainchar = *plainchar; - return plainchar - plaintext_out; - } -- fragment = (char)base64_decode_value(*codechar++); -+ fragment = base64_decode_value(*codechar++); - } while (fragment < 0); - *plainchar++ |= (fragment & 0x03f); - } diff --git a/third-party/b64.cmake b/third-party/b64.cmake deleted file mode 100644 index d51293f55..000000000 --- a/third-party/b64.cmake +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(b64 C) - -include_directories(include) - -add_library(${PROJECT_NAME} STATIC - src/cdecode.c - src/cencode.c -) - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(DIRECTORY include/b64 DESTINATION include) diff --git a/third-party/dht.cmake b/third-party/dht.cmake deleted file mode 100644 index 6d4aa99bd..000000000 --- a/third-party/dht.cmake +++ /dev/null @@ -1,9 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(dht C) - -add_library(${PROJECT_NAME} STATIC - dht.c -) - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(FILES dht.h DESTINATION include/dht) diff --git a/third-party/event2-01-win32.patch b/third-party/event2-01-win32.patch deleted file mode 100644 index a75ca0cb8..000000000 --- a/third-party/event2-01-win32.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/WIN32-Code/event2/event-config.h b/WIN32-Code/event2/event-config.h ---- a/WIN32-Code/event2/event-config.h -+++ b/WIN32-Code/event2/event-config.h -@@ -167,7 +167,9 @@ - /* #undef _EVENT_HAVE_STRSEP */ - - /* Define to 1 if you have the `strtok_r' function. */ --/* #undef _EVENT_HAVE_STRTOK_R */ -+#if defined(__MINGW32__) || defined(__MINGW64__) -+#define _EVENT_HAVE_STRTOK_R 1 -+#endif - - /* Define to 1 if you have the `strtoll' function. */ - /* #define _EVENT_HAVE_STRTOLL 1 */ diff --git a/third-party/event2-02-win32.patch b/third-party/event2-02-win32.patch deleted file mode 100644 index df40db46b..000000000 --- a/third-party/event2-02-win32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/evutil.c b/evutil.c ---- a/evutil.c -+++ b/evutil.c -@@ -1562,7 +1562,7 @@ - int r; - if (!buflen) - return 0; --#if defined(_MSC_VER) || defined(WIN32) -+#if (defined(_MSC_VER) && _MSC_VER < 1900) || (defined(WIN32) && (!defined(__USE_MINGW_ANSI_STDIO) || (__USE_MINGW_ANSI_STDIO + 0) == 0)) - r = _vsnprintf(buf, buflen, format, ap); - if (r < 0) - r = _vscprintf(format, ap); diff --git a/third-party/event2.cmake b/third-party/event2.cmake deleted file mode 100644 index e4be55013..000000000 --- a/third-party/event2.cmake +++ /dev/null @@ -1,41 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(event C) - -set(${PROJECT_NAME}_ADD_SOURCES - win32select.c - evthread_win32.c - buffer_iocp.c - event_iocp.c - bufferevent_async.c -) - -add_definitions(-DHAVE_CONFIG_H) - -include_directories(include compat WIN32-Code) - -add_library(${PROJECT_NAME} STATIC - event.c - buffer.c - bufferevent.c - bufferevent_sock.c - bufferevent_pair.c - listener.c - evmap.c - log.c - evutil.c - strlcpy.c - signal.c - bufferevent_filter.c - evthread.c - bufferevent_ratelim.c - evutil_rand.c - event_tagging.c - http.c - evdns.c - evrpc.c - ${${PROJECT_NAME}_ADD_SOURCES} -) - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(DIRECTORY include/event2 DESTINATION include) -install(DIRECTORY WIN32-Code/event2 DESTINATION include) diff --git a/third-party/natpmp.cmake b/third-party/natpmp.cmake deleted file mode 100644 index fbfad30af..000000000 --- a/third-party/natpmp.cmake +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(natpmp C) - -add_definitions(-DNATPMP_STATICLIB -DENABLE_STRNATPMPERR) - -if(WIN32) - set(${PROJECT_NAME}_ADD_SOURCES - wingettimeofday.c - ) -endif() - -add_library(${PROJECT_NAME} STATIC - getgateway.c - natpmp.c - ${${PROJECT_NAME}_ADD_SOURCES} -) - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(FILES declspec.h natpmp.h DESTINATION include) diff --git a/third-party/utp-01-ticket-5002.patch b/third-party/utp-01-ticket-5002.patch deleted file mode 100644 index 330cbc7f7..000000000 --- a/third-party/utp-01-ticket-5002.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/utp.cpp b/utp.cpp ---- a/utp.cpp -+++ b/utp.cpp -@@ -1487,6 +1487,8 @@ - return acked_bytes; - } - -+enum { MAX_EACK = 128 }; -+ - void UTPSocket::selective_ack(uint base, const byte *mask, byte len) - { - if (cur_window_packets == 0) return; -@@ -1499,7 +1501,7 @@ - // resends is a stack of sequence numbers we need to resend. Since we - // iterate in reverse over the acked packets, at the end, the top packets - // are the ones we want to resend -- int resends[32]; -+ int resends[MAX_EACK]; - int nr = 0; - - LOG_UTPV("0x%08x: Got EACK [%032b] base:%u", this, *(uint32*)mask, base); -@@ -1572,6 +1574,12 @@ - if (((v - fast_resend_seq_nr) & ACK_NR_MASK) <= OUTGOING_BUFFER_MAX_SIZE && - count >= DUPLICATE_ACKS_BEFORE_RESEND && - duplicate_ack < DUPLICATE_ACKS_BEFORE_RESEND) { -+ // resends is a stack, and we're mostly interested in the top of it -+ // if we're full, just throw away the lower half -+ if (nr >= MAX_EACK - 2) { -+ memmove(resends, &resends[MAX_EACK/2], MAX_EACK/2 * sizeof(resends[0])); -+ nr -= MAX_EACK / 2; -+ } - resends[nr++] = v; - LOG_UTPV("0x%08x: no ack for %u", this, v); - } else { -@@ -1580,13 +1588,12 @@ - } - } while (--bits >= -1); - -- if (((base - 1 - fast_resend_seq_nr) & ACK_NR_MASK) < 256 && -- count >= DUPLICATE_ACKS_BEFORE_RESEND && -- duplicate_ack < DUPLICATE_ACKS_BEFORE_RESEND) { -+ if (((base - 1 - fast_resend_seq_nr) & ACK_NR_MASK) <= OUTGOING_BUFFER_MAX_SIZE && -+ count >= DUPLICATE_ACKS_BEFORE_RESEND) { - // if we get enough duplicate acks to start - // resending, the first packet we should resend - // is base-1 -- resends[nr++] = base - 1; -+ resends[nr++] = (base - 1) & ACK_NR_MASK; - } else { - LOG_UTPV("0x%08x: not resending %u count:%d dup_ack:%u fast_resend_seq_nr:%u", - this, base - 1, count, duplicate_ack, fast_resend_seq_nr); - diff --git a/third-party/utp-02-win32.patch b/third-party/utp-02-win32.patch deleted file mode 100644 index fa3fa3f84..000000000 --- a/third-party/utp-02-win32.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/utp.h b/utp.h ---- a/utp.h -+++ b/utp.h -@@ -4,12 +4,18 @@ - #include "utypes.h" - - #ifdef WIN32 -+#ifndef _CRT_SECURE_NO_DEPRECATE - #define _CRT_SECURE_NO_DEPRECATE -+#endif -+#ifndef WIN32_LEAN_AND_MEAN - #define WIN32_LEAN_AND_MEAN -+#endif - #include - #include - #include -+#ifdef _MSC_VER - #pragma comment(lib,"ws2_32.lib") -+#endif - #else - #include - #include -@@ -142,7 +148,7 @@ - }; - - // Get stats for UTP socket --void UTP_GetStats(struct UTPSocket *socket, UTPStats *stats); -+void UTP_GetStats(struct UTPSocket *socket, struct UTPStats *stats); - #endif - - // Close the UTP socket. diff --git a/third-party/utp-03-msvc14.patch b/third-party/utp-03-msvc14.patch deleted file mode 100644 index 0297101e4..000000000 --- a/third-party/utp-03-msvc14.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/utp.cpp b/utp.cpp ---- a/utp.cpp -+++ b/utp.cpp -@@ -859,7 +859,7 @@ - int flags = version == 0 ? b->flags : b1->type(); - uint16 seq_nr = version == 0 ? b->seq_nr : b1->seq_nr; - uint16 ack_nr = version == 0 ? b->ack_nr : b1->ack_nr; -- LOG_UTPV("0x%08x: send %s len:%u id:%u timestamp:"I64u" reply_micro:%u flags:%s seq_nr:%u ack_nr:%u", -+ LOG_UTPV("0x%08x: send %s len:%u id:%u timestamp:" I64u " reply_micro:%u flags:%s seq_nr:%u ack_nr:%u", - this, addrfmt(addr, addrbuf), (uint)length, conn_id_send, time, reply_micro, flagnames[flags], - seq_nr, ack_nr); - #endif -@@ -1705,7 +1705,7 @@ - // used in parse_log.py - LOG_UTP("0x%08x: actual_delay:%u our_delay:%d their_delay:%u off_target:%d max_window:%u " - "delay_base:%u delay_sum:%d target_delay:%d acked_bytes:%u cur_window:%u " -- "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:"I64u" " -+ "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:" I64u " " - "cur_window_packets:%u packet_size:%u their_delay_base:%u their_actual_delay:%u", - this, actual_delay, our_delay / 1000, their_hist.get_value() / 1000, - (int)off_target / 1000, (uint)(max_window), our_hist.delay_base, -@@ -1790,7 +1790,7 @@ - - if (pk_flags >= ST_NUM_STATES) return 0; - -- LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:"I64u" reply_micro:%u", -+ LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:" I64u " reply_micro:%u", - conn, flagnames[pk_flags], pk_seq_nr, pk_ack_nr, statenames[conn->state], conn->version, - conn->version == 0?(uint64)(pf->tv_sec) * 1000000 + pf->tv_usec:uint64(pf1->tv_usec), - conn->version == 0?(uint32)(pf->reply_micro):(uint32)(pf1->reply_micro)); diff --git a/third-party/utp.cmake b/third-party/utp.cmake deleted file mode 100644 index b68a3f6fe..000000000 --- a/third-party/utp.cmake +++ /dev/null @@ -1,21 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(utp CXX) - -if(WIN32) - set(${PROJECT_NAME}_ADD_SOURCES - win32_inet_ntop.cpp - ) -else() - add_definitions(-DPOSIX) -endif() - -include_directories(.) - -add_library(${PROJECT_NAME} STATIC - utp.cpp - utp_utils.cpp - ${${PROJECT_NAME}_ADD_SOURCES} -) - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(FILES utp.h utypes.h DESTINATION include/libutp) diff --git a/third-party/utp_config.h b/third-party/utp_config.h deleted file mode 100644 index 53b147822..000000000 --- a/third-party/utp_config.h +++ /dev/null @@ -1,43 +0,0 @@ -#define CCONTROL_TARGET (100 * 1000) // us -#define RATE_CHECK_INTERVAL 10000 // ms -#define DYNAMIC_PACKET_SIZE_ENABLED false -#define DYNAMIC_PACKET_SIZE_FACTOR 2 -// This should return the global number of bytes sent, used for determining dynamic -// packet size based on rate - -#ifdef _MSC_VER -#pragma message("WARNING: implement this in libtransmission") -#else -#warning implement this in libtransmission -#endif -uint64 UTP_GetGlobalUTPBytesSent(const struct sockaddr *remote, socklen_t remotelen) { return 0; } - -enum bandwidth_type_t { - payload_bandwidth, connect_overhead, - close_overhead, ack_overhead, - header_overhead, retransmit_overhead -}; - -#ifdef _WIN32 -#define I64u "%I64u" -#else -#define I64u "%Lu" -#endif -#ifdef _WIN32 -#define snprintf _snprintf -#endif - -#define g_log_utp 0 -#define g_log_utp_verbose 0 -void utp_log(char const* fmt, ...) -{ - /* - printf("[%u] ", UTP_GetMilliseconds()); - va_list vl; - va_start(vl, fmt); - vprintf(fmt, vl); - va_end(vl); - puts(""); - fflush(stdout); - */ -};