* fix: using soralog
* feature: formatter for outcome
* fix: muxer and streams test
* update: hunter
* update: own version
Signed-off-by: Dmitriy Khaustov aka xDimon <khaustov.dm@gmail.com>
* feature: layers of connections
* feature: upgrade layers of connection
* fix: tests
* feature: test of layers upgrade
* refactor: enable disabled upgrader tests
* feature: sha-1 hash
* feature: websocket layer
* fix: read-buffer extending
* feature: decide layers for connection upgrade by provided multiaddress
* refactor: combine regular and websocket echo-client/-server to single one
* refactor: rename peer::Protocol to peer::ProtocolName
* refactor: implement addressToBytes, as replacement addressToHex
* refactor: mark addressToHex as deprecated
* feature: extend ConversionError
* fix: multiaddress manipulations
* feature: dummy protocols for tests
* fix: tests of converters
* fix: collision in DI
* refactor: update outcome macros for tests
* fix: connection upgrader in part of layers
* fix: ws read-writer in case big data fragmented by frames
* experiment: add delay of sending jumbo message, to give a chance for Id-protocol to end his work
* experiment: log difference sent and received data for analyse
* feature: control frames (ping/pong/close)
* fix: sending huge portions of data
* fix: echo sessions
* feature: optional hex dump in dumpBin
* fix: echo client
* update: hunter package manager
* fix: hardcoded request and response in http-to-ws upgraded
* fix: add ws version header
* fix: reduce length of ws-key header
* fix: make ws-header check case-insensitive
* fix: use locale independent predicate for ci-compare
* fix: use boost endian conversion instead endian macros
Signed-off-by: Dmitriy Khaustov aka xDimon <khaustov.dm@gmail.com>
* CMake: Expose CMake options to includes
This change shuffles the order of several CMake steps to expose CMake
options to included files.
By defining options before inclusion, included files are able to access
the input provided by the build system.
* CMake: Exclude test dependencies when building tests
* CMake: Allow build system to provide protobuf compiler
When building without Hunter, it is desirable to pass the path to protoc and
the protobuf include directory from the build system. Allow these variables
to be overridden.
Fixes the error:
| CMake Error at cmake/functions.cmake:52 (message):
| Protobuf_PROTOC_EXECUTABLE is empty
| Call Stack (most recent call first):
| cmake/functions.cmake:96 (compile_proto_to_cpp)
| src/crypto/protobuf/CMakeLists.txt:6 (add_proto_library)
* Fix build error due to missing include
Error was:
| literals.cpp: In function 'libp2p::common::Hash256 libp2p::common::operator""_hash256(const char*, size_t)':
| literals.cpp:17:36: error: no matching function for call to 'min(size_t&, long unsigned int)'
| 17 | std::copy_n(c, std::min(s, 32ul), hash.rbegin());
| | ^
* Fix build error due to mismatched types
Error was:
| literals.cpp: In function 'libp2p::common::Hash256 libp2p::common::operator""_hash256(const char*, size_t)':
| literals.cpp:19:36: error: no matching function for call to 'min(size_t&, long unsigned int)'
| 19 | std::copy_n(c, std::min(s, 32ul), hash.rbegin());
| | ^
* Fix compiler warning due to sign comparison
When compiling with -Werror, this causes the build to fail.
Warning was:
| yamux_frame.cpp:103:28: error: comparison of integers of different signs: 'gsl::span::index_type' (aka 'int') and 'const uint32_t' (aka 'const unsigned int') [-Werror,-Wsign-compare]
| if (frame_bytes.size() < YamuxFrame::kHeaderLength) {
| ~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
Change cmake-files for using internal fork of Hunter package manager
Signed-off-by: Dmitriy Khaustov aka xDimon <khaustov.dm@gmail.com>
Co-authored-by: Yura Zarudniy <zarudniy@soramitsu.co.jp>