Skip to content

Commit 00d5ccd

Browse files
authored
Merge pull request #707 from orb-community/develop
Release 4.5.0
2 parents ad17f1c + 25306cc commit 00d5ccd

File tree

174 files changed

+2642
-3208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+2642
-3208
lines changed

.github/actions/build-cpp/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ WORKDIR /pktvisor-src
1515
RUN apt-get update && \
1616
apt-get upgrade --yes --force-yes && \
1717
apt-get install --yes --force-yes --no-install-recommends ${BUILD_DEPS} && \
18-
pip3 install 'conan==1.59.0' --force-reinstall
18+
pip3 install 'conan==1.61.0' --force-reinstall
1919

2020
RUN chmod +x /entrypoint.sh
2121

.github/actions/build-go/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM golang:latest
1+
FROM golang:bullseye
22

33
LABEL author="Everton Haise Taques <[email protected]>"
44
LABEL maintainer="netboxlabs"

.github/workflows/build-develop.yml

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24,56 +24,58 @@ jobs:
2424
# cross-platform coverage.
2525
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
2626

27-
runs-on: macos-11
27+
runs-on: macos-latest
2828
steps:
2929
- uses: actions/checkout@v3
30-
- name: install gcc 12.2
31-
run: |
32-
gcc --version
33-
brew search gcc
34-
brew install gcc@12
35-
gcc --version
36-
30+
3731
- name: Create Build Environment
3832
# Some projects don't allow in-source building, so create a separate build directory
3933
# We'll use this as our working directory for all subsequent commands
4034
run: cmake -E make_directory ${{github.workspace}}/build
4135

36+
- name: Python Setup
37+
uses: actions/setup-python@v4
38+
with:
39+
python-version: '3.10'
40+
4241
- name: Get Conan
4342
id: conan
4443
uses: turtlebrowser/get-conan@main
4544
with:
46-
version: 1.59.0
47-
48-
# - name: Setup Conan Cache
49-
# uses: actions/cache@v3
50-
# with:
51-
# path: ${{github.workspace}}/build/conan_home/
52-
# key: conan-${{ runner.os }}-${{ hashFiles('conanfile.txt', '*/conanfile.txt') }}
53-
# restore-keys: conan-${{ runner.os }}-
54-
55-
# - name: Configure CMake
56-
# # Use a bash shell so we can use the same syntax for environment variable
57-
# # access regardless of the host operating system
58-
# shell: bash
59-
# working-directory: ${{github.workspace}}/build
60-
# # Note the current convention is to use the -S and -B options here to specify source
61-
# # and build directories, but this is only available with CMake 3.13 and higher.
62-
# # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
63-
# run: PKG_CONFIG_PATH=${{github.workspace}}/local/lib/pkgconfig cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
64-
65-
# - name: Build
66-
# working-directory: ${{github.workspace}}/build
67-
# shell: bash
68-
# # Execute the build. You can specify a specific target with "--target <NAME>"
69-
# run: cmake --build . --config $BUILD_TYPE -- -j 2
70-
71-
# - name: Test
72-
# working-directory: ${{github.workspace}}/build
73-
# shell: bash
74-
# # Execute tests defined by the CMake configuration.
75-
# # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
76-
# run: ctest -C $BUILD_TYPE
45+
version: 1.61.0
46+
47+
- name: Setup OSX Environment
48+
run: echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
49+
50+
- name: Setup Conan Cache
51+
uses: actions/cache@v3
52+
with:
53+
path: ${{github.workspace}}/build/conan_home/
54+
key: conan-${{ runner.os }}-${{ hashFiles('conanfile.txt', '*/conanfile.txt') }}
55+
restore-keys: conan-${{ runner.os }}-
56+
57+
- name: Configure CMake
58+
# Use a bash shell so we can use the same syntax for environment variable
59+
# access regardless of the host operating system
60+
shell: bash
61+
working-directory: ${{github.workspace}}/build
62+
# Note the current convention is to use the -S and -B options here to specify source
63+
# and build directories, but this is only available with CMake 3.13 and higher.
64+
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
65+
run: PKG_CONFIG_PATH=${{github.workspace}}/local/lib/pkgconfig cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
66+
67+
- name: Build
68+
working-directory: ${{github.workspace}}/build
69+
shell: bash
70+
# Execute the build. You can specify a specific target with "--target <NAME>"
71+
run: cmake --build . --config $BUILD_TYPE -- -j 2
72+
73+
- name: Test
74+
working-directory: ${{github.workspace}}/build
75+
shell: bash
76+
# Execute tests defined by the CMake configuration.
77+
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
78+
run: ctest -C $BUILD_TYPE
7779

7880
unit-tests-linux:
7981
# The CMake configure and build commands are platform agnostic and should work equally
@@ -99,7 +101,7 @@ jobs:
99101
id: conan
100102
uses: turtlebrowser/get-conan@main
101103
with:
102-
version: 1.59.0
104+
version: 1.61.0
103105

104106
- name: linux package install
105107
run: |
@@ -166,7 +168,7 @@ jobs:
166168
id: conan
167169
uses: turtlebrowser/get-conan@main
168170
with:
169-
version: 1.59.0
171+
version: 1.61.0
170172

171173
- name: Remove libpcap from conanfile
172174
shell: bash
@@ -396,7 +398,7 @@ jobs:
396398
id: conan
397399
uses: turtlebrowser/get-conan@main
398400
with:
399-
version: 1.59.0
401+
version: 1.61.0
400402

401403
- name: Configure CMake to generate VERSION
402404
shell: bash
@@ -848,6 +850,7 @@ jobs:
848850
with:
849851
context: "."
850852
file: "./Dockerfile"
853+
goarch: "arm64"
851854

852855
- name: Debug artifacts
853856
run: ls -lha .

.github/workflows/build-release.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
id: conan
3333
uses: turtlebrowser/get-conan@main
3434
with:
35-
version: 1.59.0
35+
version: 1.61.0
3636

3737
- name: Setup Conan Cache
3838
uses: actions/cache@v3
@@ -84,7 +84,7 @@ jobs:
8484
id: conan
8585
uses: turtlebrowser/get-conan@main
8686
with:
87-
version: 1.59.0
87+
version: 1.61.0
8888

8989
- name: Configure CMake to generate VERSION
9090
shell: bash
@@ -134,7 +134,7 @@ jobs:
134134
id: conan
135135
uses: turtlebrowser/get-conan@main
136136
with:
137-
version: 1.59.0
137+
version: 1.61.0
138138

139139
- name: Configure CMake to generate VERSION
140140
shell: bash
@@ -279,7 +279,7 @@ jobs:
279279
id: conan
280280
uses: turtlebrowser/get-conan@main
281281
with:
282-
version: 1.59.0
282+
version: 1.61.0
283283

284284
- name: Remove libpcap from conanfile
285285
shell: bash
@@ -423,6 +423,7 @@ jobs:
423423
uses: ./.github/actions/build-go
424424
with:
425425
context: "."
426+
goarch: arm64
426427
file: "./Dockerfile"
427428

428429
- name: Debug artifacts

.github/workflows/build_cross.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
curl -L "${{matrix.toolchain}}" | tar -C toolchain -xz --strip-components=1
7070
7171
- name: Install Conan
72-
run: pip install --no-cache-dir 'conan==1.59.0' --force-reinstall
72+
run: pip install --no-cache-dir 'conan==1.61.0' --force-reinstall
7373

7474
- name: Create Conan configuration
7575
run: |

.github/workflows/build_debug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
id: conan
3434
uses: turtlebrowser/get-conan@main
3535
with:
36-
version: 1.59.0
36+
version: 1.61.0
3737

3838
- name: Setup Conan Cache
3939
uses: actions/cache@v3

.github/workflows/code-ql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
- run: |
6161
# Run Build - set up dependencies, env vars, compile, and make test
6262
#install conan
63-
pip install --no-cache-dir 'conan==1.59.0' --force-reinstall
63+
pip install --no-cache-dir 'conan==1.61.0' --force-reinstall
6464
# create conan config
6565
CONAN_V2_MODE=1 conan config init
6666
conan config set general.revisions_enabled=1

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ docs/internals/html
1010
appimage/*.AppImage
1111
/test-config*.yaml
1212
localconfig/
13+
.cache/
14+
.vscode/
15+
build/

3rd/datasketches/common/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,9 @@ target_sources(common
3737
${CMAKE_CURRENT_SOURCE_DIR}/include/conditional_back_inserter.hpp
3838
${CMAKE_CURRENT_SOURCE_DIR}/include/conditional_forward.hpp
3939
${CMAKE_CURRENT_SOURCE_DIR}/include/ceiling_power_of_2.hpp
40-
)
40+
${CMAKE_CURRENT_SOURCE_DIR}/include/kolmogorov_smirnov.hpp
41+
${CMAKE_CURRENT_SOURCE_DIR}/include/kolmogorov_smirnov_impl.hpp
42+
${CMAKE_CURRENT_SOURCE_DIR}/include/quantiles_sorted_view.hpp
43+
${CMAKE_CURRENT_SOURCE_DIR}/include/quantiles_sorted_view_impl.hpp
44+
${CMAKE_CURRENT_SOURCE_DIR}/include/version.hpp.in
45+
)

3rd/datasketches/common/include/MurmurHash3.h

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,30 @@ typedef unsigned char uint8_t;
2929
typedef unsigned int uint32_t;
3030
typedef unsigned __int64 uint64_t;
3131

32-
#define FORCE_INLINE __forceinline
32+
#define MURMUR3_FORCE_INLINE __forceinline
3333

3434
#include <stdlib.h>
3535

36-
#define ROTL32(x,y) _rotl(x,y)
37-
#define ROTL64(x,y) _rotl64(x,y)
36+
#define MURMUR3_ROTL64(x,y) _rotl64(x,y)
3837

39-
#define BIG_CONSTANT(x) (x)
38+
#define MURMUR3_BIG_CONSTANT(x) (x)
4039

4140
// Other compilers
4241

4342
#else // defined(_MSC_VER)
4443

4544
#include <stdint.h>
4645

47-
#define FORCE_INLINE inline __attribute__((always_inline))
48-
49-
inline uint32_t rotl32 ( uint32_t x, int8_t r )
50-
{
51-
return (x << r) | (x >> (32 - r));
52-
}
46+
#define MURMUR3_FORCE_INLINE inline __attribute__((always_inline))
5347

5448
inline uint64_t rotl64 ( uint64_t x, int8_t r )
5549
{
5650
return (x << r) | (x >> (64 - r));
5751
}
5852

59-
#define ROTL32(x,y) rotl32(x,y)
60-
#define ROTL64(x,y) rotl64(x,y)
53+
#define MURMUR3_ROTL64(x,y) rotl64(x,y)
6154

62-
#define BIG_CONSTANT(x) (x##LLU)
55+
#define MURMUR3_BIG_CONSTANT(x) (x##LLU)
6356

6457
#endif // !defined(_MSC_VER)
6558

@@ -78,7 +71,7 @@ typedef struct {
7871
// Block read - if your platform needs to do endian-swapping or can only
7972
// handle aligned reads, do the conversion here
8073

81-
FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, size_t i )
74+
MURMUR3_FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, size_t i )
8275
{
8376
uint64_t res;
8477
memcpy(&res, p + i, sizeof(res));
@@ -88,20 +81,21 @@ FORCE_INLINE uint64_t getblock64 ( const uint64_t * p, size_t i )
8881
//-----------------------------------------------------------------------------
8982
// Finalization mix - force all bits of a hash block to avalanche
9083

91-
FORCE_INLINE uint64_t fmix64 ( uint64_t k )
84+
MURMUR3_FORCE_INLINE uint64_t fmix64 ( uint64_t k )
9285
{
9386
k ^= k >> 33;
94-
k *= BIG_CONSTANT(0xff51afd7ed558ccd);
87+
k *= MURMUR3_BIG_CONSTANT(0xff51afd7ed558ccd);
9588
k ^= k >> 33;
96-
k *= BIG_CONSTANT(0xc4ceb9fe1a85ec53);
89+
k *= MURMUR3_BIG_CONSTANT(0xc4ceb9fe1a85ec53);
9790
k ^= k >> 33;
9891

9992
return k;
10093
}
10194

102-
FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes, uint64_t seed, HashState& out) {
103-
static const uint64_t c1 = BIG_CONSTANT(0x87c37b91114253d5);
104-
static const uint64_t c2 = BIG_CONSTANT(0x4cf5ad432745937f);
95+
MURMUR3_FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes,
96+
uint64_t seed, HashState& out) {
97+
static const uint64_t c1 = MURMUR3_BIG_CONSTANT(0x87c37b91114253d5);
98+
static const uint64_t c2 = MURMUR3_BIG_CONSTANT(0x4cf5ad432745937f);
10599

106100
const uint8_t* data = (const uint8_t*)key;
107101

@@ -118,13 +112,13 @@ FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes, uint64_t
118112
uint64_t k1 = getblock64(blocks, i * 2 + 0);
119113
uint64_t k2 = getblock64(blocks, i * 2 + 1);
120114

121-
k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; out.h1 ^= k1;
122-
out.h1 = ROTL64(out.h1,27);
115+
k1 *= c1; k1 = MURMUR3_ROTL64(k1,31); k1 *= c2; out.h1 ^= k1;
116+
out.h1 = MURMUR3_ROTL64(out.h1,27);
123117
out.h1 += out.h2;
124118
out.h1 = out.h1*5+0x52dce729;
125119

126-
k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; out.h2 ^= k2;
127-
out.h2 = ROTL64(out.h2,31);
120+
k2 *= c2; k2 = MURMUR3_ROTL64(k2,33); k2 *= c1; out.h2 ^= k2;
121+
out.h2 = MURMUR3_ROTL64(out.h2,31);
128122
out.h2 += out.h1;
129123
out.h2 = out.h2*5+0x38495ab5;
130124
}
@@ -144,7 +138,7 @@ FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes, uint64_t
144138
case 11: k2 ^= ((uint64_t)tail[10]) << 16; // falls through
145139
case 10: k2 ^= ((uint64_t)tail[ 9]) << 8; // falls through
146140
case 9: k2 ^= ((uint64_t)tail[ 8]) << 0;
147-
k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; out.h2 ^= k2;
141+
k2 *= c2; k2 = MURMUR3_ROTL64(k2,33); k2 *= c1; out.h2 ^= k2;
148142
// falls through
149143
case 8: k1 ^= ((uint64_t)tail[ 7]) << 56; // falls through
150144
case 7: k1 ^= ((uint64_t)tail[ 6]) << 48; // falls through
@@ -154,7 +148,7 @@ FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes, uint64_t
154148
case 3: k1 ^= ((uint64_t)tail[ 2]) << 16; // falls through
155149
case 2: k1 ^= ((uint64_t)tail[ 1]) << 8; // falls through
156150
case 1: k1 ^= ((uint64_t)tail[ 0]) << 0;
157-
k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; out.h1 ^= k1;
151+
k1 *= c1; k1 = MURMUR3_ROTL64(k1,31); k1 *= c2; out.h1 ^= k1;
158152
};
159153

160154
//----------
@@ -175,10 +169,14 @@ FORCE_INLINE void MurmurHash3_x64_128(const void* key, size_t lenBytes, uint64_t
175169

176170
//-----------------------------------------------------------------------------
177171

178-
FORCE_INLINE uint16_t compute_seed_hash(uint64_t seed) {
172+
MURMUR3_FORCE_INLINE uint16_t compute_seed_hash(uint64_t seed) {
179173
HashState hashes;
180174
MurmurHash3_x64_128(&seed, sizeof(seed), 0, hashes);
181175
return static_cast<uint16_t>(hashes.h1 & 0xffff);
182176
}
183177

178+
#undef MURMUR3_FORCE_INLINE
179+
#undef MURMUR3_ROTL64
180+
#undef MURMUR3_BIG_CONSTANT
181+
184182
#endif // _MURMURHASH3_H_

0 commit comments

Comments
 (0)