mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Compare commits
4 Commits
sha-optimi
...
fix/rpc-qu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e26fd326e0 | ||
|
|
4239124750 | ||
|
|
6fdb285d48 | ||
|
|
e2e0186b32 |
@@ -2,92 +2,34 @@
|
|||||||
NIH dep: openssl
|
NIH dep: openssl
|
||||||
#]===================================================================]
|
#]===================================================================]
|
||||||
|
|
||||||
# Include modules
|
#[===============================================[
|
||||||
include(ExternalProject)
|
OPENSSL_ROOT_DIR is the only variable that
|
||||||
include(CheckCCompilerFlag)
|
FindOpenSSL honors for locating, so convert any
|
||||||
|
OPENSSL_ROOT vars to this
|
||||||
check_c_compiler_flag("-mavx512f" COMPILER_SUPPORTS_AVX512)
|
#]===============================================]
|
||||||
option(ENABLE_AVX512 "Enable AVX512 instructions" ${COMPILER_SUPPORTS_AVX512})
|
if (NOT DEFINED OPENSSL_ROOT_DIR)
|
||||||
|
if (DEFINED ENV{OPENSSL_ROOT})
|
||||||
set(OPENSSL_NISTP "")
|
set (OPENSSL_ROOT_DIR $ENV{OPENSSL_ROOT})
|
||||||
set(OPENSSL_AVX512 "")
|
elseif (HOMEBREW)
|
||||||
|
execute_process (COMMAND ${HOMEBREW} --prefix openssl
|
||||||
if(APPLE)
|
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
||||||
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
set(OPENSSL_PLATFORM "darwin64-arm64-cc")
|
endif ()
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
file (TO_CMAKE_PATH "${OPENSSL_ROOT_DIR}" OPENSSL_ROOT_DIR)
|
||||||
set(OPENSSL_PLATFORM "darwin64-x86_64-cc")
|
endif ()
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Unsupported macOS architecture: ${CMAKE_SYSTEM_PROCESSOR}")
|
|
||||||
endif()
|
|
||||||
elseif(UNIX AND NOT APPLE)
|
|
||||||
set(OPENSSL_PLATFORM "linux-x86_64")
|
|
||||||
set(OPENSSL_NISTP "enable-ec_nistp_64_gcc_128")
|
|
||||||
set(OPENSSL_AVX512 "-march=skylake-avx512")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Unsupported platform")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(openssl_src
|
|
||||||
PREFIX ${nih_cache_path}
|
|
||||||
GIT_REPOSITORY https://github.com/openssl/openssl.git
|
|
||||||
GIT_TAG OpenSSL_1_1_1u
|
|
||||||
CONFIGURE_COMMAND
|
|
||||||
${nih_cache_path}/src/openssl_src/Configure
|
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
|
||||||
-DBUILD_STATIC_LIBS=ON
|
|
||||||
${OPENSSL_PLATFORM}
|
|
||||||
${OPENSSL_NISTP}
|
|
||||||
${OPENSSL_AVX512}
|
|
||||||
enable-rmd160
|
|
||||||
no-ssl2
|
|
||||||
LOG_BUILD ON
|
|
||||||
LOG_CONFIGURE ON
|
|
||||||
LOG_DOWNLOAD ON
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
BUILD_COMMAND $(MAKE)
|
|
||||||
TEST_COMMAND ""
|
|
||||||
INSTALL_COMMAND ""
|
|
||||||
BUILD_BYPRODUCTS
|
|
||||||
<BINARY_DIR>/libssl.a
|
|
||||||
<BINARY_DIR>/libcrypto.a
|
|
||||||
)
|
|
||||||
|
|
||||||
ExternalProject_Get_Property (openssl_src BINARY_DIR)
|
|
||||||
set (openssl_src_BINARY_DIR "${BINARY_DIR}")
|
|
||||||
|
|
||||||
add_library (OpenSSL::SSL STATIC IMPORTED GLOBAL)
|
|
||||||
add_library (OpenSSL::Crypto STATIC IMPORTED GLOBAL)
|
|
||||||
|
|
||||||
add_dependencies(OpenSSL::SSL openssl_src)
|
|
||||||
add_dependencies(OpenSSL::Crypto openssl_src)
|
|
||||||
execute_process(
|
|
||||||
COMMAND
|
|
||||||
mkdir -p "${openssl_src_BINARY_DIR}/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
set_target_properties(OpenSSL::SSL PROPERTIES
|
|
||||||
IMPORTED_LOCATION_DEBUG
|
|
||||||
"${openssl_src_BINARY_DIR}/libssl.a"
|
|
||||||
IMPORTED_LOCATION_RELEASE
|
|
||||||
"${openssl_src_BINARY_DIR}/libssl.a"
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
"${openssl_src_BINARY_DIR}/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
set_target_properties(OpenSSL::Crypto PROPERTIES
|
|
||||||
IMPORTED_LOCATION_DEBUG
|
|
||||||
"${openssl_src_BINARY_DIR}/libcrypto.a"
|
|
||||||
IMPORTED_LOCATION_RELEASE
|
|
||||||
"${openssl_src_BINARY_DIR}/libcrypto.a"
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
"${openssl_src_BINARY_DIR}/include"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
if (static)
|
||||||
|
set (OPENSSL_USE_STATIC_LIBS ON)
|
||||||
|
endif ()
|
||||||
|
set (OPENSSL_MSVC_STATIC_RT ON)
|
||||||
|
find_package (OpenSSL 1.1.1 REQUIRED)
|
||||||
target_link_libraries (ripple_libs
|
target_link_libraries (ripple_libs
|
||||||
INTERFACE
|
INTERFACE
|
||||||
OpenSSL::SSL
|
OpenSSL::SSL
|
||||||
OpenSSL::Crypto)
|
OpenSSL::Crypto)
|
||||||
|
# disable SSLv2...this can also be done when building/configuring OpenSSL
|
||||||
|
set_target_properties(OpenSSL::SSL PROPERTIES
|
||||||
|
INTERFACE_COMPILE_DEFINITIONS OPENSSL_NO_SSL2)
|
||||||
#[=========================================================[
|
#[=========================================================[
|
||||||
https://gitlab.kitware.com/cmake/cmake/issues/16885
|
https://gitlab.kitware.com/cmake/cmake/issues/16885
|
||||||
depending on how openssl is built, it might depend
|
depending on how openssl is built, it might depend
|
||||||
@@ -104,9 +46,3 @@ if (TARGET ZLIB::ZLIB)
|
|||||||
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
||||||
set (has_zlib TRUE)
|
set (has_zlib TRUE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(ENABLE_AVX512 AND COMPILER_SUPPORTS_AVX512 AND NOT APPLE)
|
|
||||||
add_compile_options(-mavx512f)
|
|
||||||
add_compile_options(-march=skylake-avx512)
|
|
||||||
endif()
|
|
||||||
add_link_options(-lssl -lcrypto)
|
|
||||||
@@ -145,3 +145,11 @@ D686F2538F410C9D0D856788E98E3579595DAF7B38D38887F81ECAC934B06040 HooksUpdate1
|
|||||||
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
|
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
|
||||||
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
|
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
|
||||||
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
|
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
|
||||||
|
4C499D17719BB365B69010A436B64FD1A82AAB199FC1CEB06962EBD01059FB09 fixXahauV1
|
||||||
|
215181D23BF5C173314B5FDB9C872C92DE6CC918483727DE037C0C13E7E6EE9D fixXahauV2
|
||||||
|
0D8BF22FF7570D58598D1EF19EBB6E142AD46E59A223FD3816262FBB69345BEA Remit
|
||||||
|
7CA0426E7F411D39BB014E57CD9E08F61DE1750F0D41FCD428D9FB80BB7596B0 ZeroB2M
|
||||||
|
4B8466415FAB32FFA89D9DCBE166A42340115771DF611A7160F8D7439C87ECD8 fixNSDelete
|
||||||
|
EDB4EE4C524E16BDD91D9A529332DED08DCAAA51CC6DC897ACFA1A0ED131C5B6 fix240819
|
||||||
|
8063140E9260799D6716756B891CEC3E7006C4E4F277AB84670663A88F94B9C4 fixPageCap
|
||||||
|
88693F108C3CD8A967F3F4253A32DEF5E35F9406ACD2A11B88B11D90865763A9 fix240911
|
||||||
|
|||||||
@@ -1894,7 +1894,9 @@ fromNetwork(
|
|||||||
constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256);
|
constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256);
|
||||||
|
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
auto constexpr RPC_NOTIFY = 10min;
|
// auto constexpr RPC_NOTIFY = 10min; // Wietse: lolwut 10 minutes for one
|
||||||
|
// HTTP call?
|
||||||
|
auto constexpr RPC_NOTIFY = 30s;
|
||||||
|
|
||||||
HTTPClient::request(
|
HTTPClient::request(
|
||||||
bSSL,
|
bSSL,
|
||||||
|
|||||||
@@ -78,12 +78,14 @@ public:
|
|||||||
{
|
{
|
||||||
std::lock_guard sl(mLock);
|
std::lock_guard sl(mLock);
|
||||||
|
|
||||||
if (mDeque.size() >= eventQueueMax)
|
// Wietse: we're not going to limit this, this is admin-port only, scale
|
||||||
{
|
// accordingly Dropping events just like this results in inconsistent
|
||||||
// Drop the previous event.
|
// data on the receiving end if (mDeque.size() >= eventQueueMax)
|
||||||
JLOG(j_.warn()) << "RPCCall::fromNetwork drop";
|
// {
|
||||||
mDeque.pop_back();
|
// // Drop the previous event.
|
||||||
}
|
// JLOG(j_.warn()) << "RPCCall::fromNetwork drop";
|
||||||
|
// mDeque.pop_back();
|
||||||
|
// }
|
||||||
|
|
||||||
auto jm = broadcast ? j_.debug() : j_.info();
|
auto jm = broadcast ? j_.debug() : j_.info();
|
||||||
JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj;
|
JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj;
|
||||||
@@ -182,7 +184,8 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
enum { eventQueueMax = 32 };
|
// Wietse: we're not going to limit this, this is admin-port only, scale
|
||||||
|
// accordingly enum { eventQueueMax = 32 };
|
||||||
|
|
||||||
boost::asio::io_service& m_io_service;
|
boost::asio::io_service& m_io_service;
|
||||||
JobQueue& m_jobQueue;
|
JobQueue& m_jobQueue;
|
||||||
|
|||||||
Reference in New Issue
Block a user