Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New protocol #183

Merged
merged 220 commits into from
Sep 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
065aef9
Protocol internal reorg
Mallets Jan 18, 2023
a99843b
Fix wrong imports
Mallets Jan 18, 2023
9d808dc
Adding extensions. Missing tests.
Mallets Jan 19, 2023
8e5472b
Extensions codec test
Mallets Jan 20, 2023
59cbe91
Extensions codec test improved
Mallets Jan 20, 2023
9380445
Extensions codec test improved
Mallets Jan 20, 2023
7bb1d4a
Revert to RSA 0.7.2
Mallets Jan 20, 2023
4cc0f2e
Merge with master
Mallets Jan 30, 2023
5864bfa
Fix code fmt
Mallets Jan 30, 2023
9f6fc81
New 0.8.0 scouting
Mallets Feb 1, 2023
afb02d8
Fix code fmt
Mallets Feb 1, 2023
d27354d
Fix zenoh-protocol no_std
Mallets Feb 1, 2023
5bf94a6
Cleanup. New Init message.
Mallets Feb 3, 2023
1b20767
Scout, Hello, Init, Open, KeepAlive rework. Incomplete Frame.
Mallets Feb 3, 2023
9c6546e
Frame message
Mallets Feb 7, 2023
efebb27
Fragment message
Mallets Feb 7, 2023
5b39936
Protocol refinement
Mallets Feb 22, 2023
0915cbd
Fix Batch and Pipeline
Mallets Feb 22, 2023
992f210
Remove attachment from zenoh-protocol and zenoh-codec
Mallets Feb 22, 2023
6ef98b6
Remove attachment from Batch and Pipeline
Mallets Feb 22, 2023
c7c0187
Remove attachment from primitives
Mallets Feb 22, 2023
4905c6b
Remove multicast
Mallets Feb 22, 2023
44d7ad3
Incomplete reworking on transport
Mallets Feb 22, 2023
1efbcfc
Working non-fragemted transport. Fragmentation not working.
Mallets Feb 22, 2023
5b4df5b
Fix runtime message creation
Mallets Feb 22, 2023
e67ebf1
Missing file
Mallets Feb 22, 2023
387ae01
Fix fragmentation
Mallets Feb 23, 2023
96fa7c5
New ZInt encoding
Mallets Feb 23, 2023
4f4c7fc
New ZInt encoding
Mallets Feb 23, 2023
c202420
Fix forgotten print
Mallets Feb 23, 2023
9270020
Merge branch 'new-protocol' of github.com:eclipse-zenoh/zenoh into ne…
Mallets Feb 23, 2023
041dd60
Fix forgotten print
Mallets Feb 23, 2023
1423ccf
Fix forgotten print
Mallets Feb 23, 2023
3cdf15d
Revert to old ZInt encoding
Mallets Feb 23, 2023
da06c4d
Rx improvement
Mallets Feb 23, 2023
61382fb
Make codec functions const
Mallets Feb 23, 2023
04ec80e
Use Vec in frame
Mallets Feb 23, 2023
a404552
Improve frame encoding
Mallets Feb 24, 2023
5983ecf
Improve frame encoding
Mallets Feb 24, 2023
64558d8
Fix broken fragmentation
Mallets Feb 24, 2023
3673f85
Fix unit encoding
Mallets Feb 24, 2023
47196f5
ZInt encoding improvement
Mallets Feb 24, 2023
c22e058
Reintroduce QoS negotiation
Mallets Feb 27, 2023
b223d39
Batch size negotiation
Mallets Feb 27, 2023
7aa4231
RequestID negotiation
Mallets Feb 27, 2023
239144f
Open/Accept FSM rework
Mallets Mar 1, 2023
ffe9942
QoS extension
Mallets Mar 1, 2023
983f760
Improve OpenFsm
Mallets Mar 2, 2023
dfa51b5
Improve AcceptFsm
Mallets Mar 2, 2023
d0b89a0
Simplify transport
Mallets Mar 2, 2023
002504b
Reintroducing SHM support. Still incomplete.
Mallets Mar 2, 2023
9d56414
Reintroduced SHM
Mallets Mar 3, 2023
1d91011
Remove zenoh-cfg-properties crate
Mallets Mar 3, 2023
c8d8bcc
Remove defmt dependency
Mallets Mar 3, 2023
7f83eb4
zenoh-link-commons is no_std
Mallets Mar 3, 2023
dd6e865
Feature gate when shared-memory is disabled
Mallets Mar 6, 2023
984299c
Fix cargo doc
Mallets Mar 6, 2023
c18c206
Disable multicast link and join message
Mallets Mar 6, 2023
1a39e91
Adding more ZInt tests
Mallets Mar 6, 2023
85ff47f
Improved SeqNum
Mallets Mar 7, 2023
6ba7ee6
Merge from master
Mallets Mar 7, 2023
ea08f8d
Fix SN generation
Mallets Mar 7, 2023
7ef66e7
Fix SN generation
Mallets Mar 7, 2023
63f68d6
Make no_std CI happy
Mallets Mar 7, 2023
e9eefd7
Remove lifetime from OpenFsm and AcceptFsm traits
Mallets Mar 7, 2023
43dffcf
Reintroduced UsrPwd auth
Mallets Mar 9, 2023
ec56c4c
Re-enable protocols in authenticator tests
Mallets Mar 9, 2023
7033f9e
Update dependencies
Mallets Mar 9, 2023
9ff979d
Fix nostd CI
Mallets Mar 9, 2023
05835f9
PubKey auth
Mallets Mar 9, 2023
a0bfb5f
Merge branch 'fix-clippy' into new-protocol
Mallets Mar 10, 2023
58ac1ec
Fix clippy warnings
Mallets Mar 10, 2023
226d29e
Enable CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse in CI
Mallets Mar 10, 2023
47fadc4
Fix release CI.yaml
Mallets Mar 10, 2023
7021326
MultiLink extension definition
Mallets Mar 10, 2023
818d0c1
Auth RwLock sharding
Mallets Mar 10, 2023
6eaac4e
Initial MultiLink ext
Mallets Mar 10, 2023
9d7f6cc
Multilink negotiation - No spoofing tests yet
Mallets Mar 10, 2023
48b3b30
Improved tests and debug
Mallets Mar 11, 2023
1899bdf
Disable shared-memory by default
Mallets Mar 13, 2023
a2bafb1
Fix cargo clippy
Mallets Mar 13, 2023
d8a6fb0
Fix sequence_number_resolution config support
Mallets Mar 13, 2023
9490756
Resolves #443
Mallets Mar 13, 2023
ad944b9
Add missing test file
Mallets Mar 13, 2023
9283283
Merge protocol whitelist
Mallets Mar 13, 2023
0b8e037
Fix nostd CI
Mallets Mar 13, 2023
f564cef
Improve SHM automatic translation
Mallets Mar 13, 2023
efc7e55
Improve conditional compilation of features
Mallets Mar 13, 2023
7ba514d
Improve conditional compilation of features
Mallets Mar 13, 2023
5b2d109
Add cold path to shm
Mallets Mar 13, 2023
02e65bd
Remove shared-memory from default features
Mallets Mar 13, 2023
738658e
Remove ZInt typedef
Mallets Mar 14, 2023
a148fcb
Additional Z* impls
Mallets Mar 14, 2023
d44c208
Define uSN
Mallets Mar 14, 2023
f953933
Change ExprId resolution
Mallets Mar 14, 2023
85c3b60
Change source SN resolution
Mallets Mar 14, 2023
e88defa
Fix Encoding resolution
Mallets Mar 14, 2023
5b2f56c
Query ID resolution
Mallets Mar 14, 2023
7c77532
Sn and Id typedef
Mallets Mar 15, 2023
b3ac84a
Add bounded codec for ZInt, Vec<u8>, and String
Mallets Mar 15, 2023
1fdbf90
Fix format
Mallets Mar 15, 2023
5b73d2c
Config fix
Mallets Mar 17, 2023
4b103e7
Network protocol definition. Declare to be refined.
Mallets Mar 17, 2023
11fec5f
Merge with master
Mallets Mar 17, 2023
89eadd4
Push codec
Mallets Mar 17, 2023
d7ac9bc
Adding Pull message draft. Refinemenet of Declare messages
Mallets Mar 18, 2023
9b8ff40
New network declare codec
Mallets Mar 21, 2023
ef29569
Draft Pull message and codec
Mallets Mar 21, 2023
edfa444
Pull message and codec
Mallets Mar 21, 2023
309610e
Response codec
Mallets Mar 21, 2023
dfc6927
Declare Token codec
Mallets Mar 21, 2023
8a3903f
OAM message definition and codec
Mallets Mar 21, 2023
50b9d6c
Cleanup
Mallets Mar 21, 2023
63a0f38
Oam message and codec
Mallets Mar 22, 2023
237f3e1
Fix queryableinfo distance resolution
Mallets Mar 22, 2023
d6271a8
Extensions can be mandatory
Mallets Mar 22, 2023
73187c2
Fix nostd check
Mallets Mar 22, 2023
58c8e3c
Remove pull message
Mallets Mar 27, 2023
515be25
NetworkMessage codec
Mallets Mar 27, 2023
b76a147
Print log when unknown extension is detected
Mallets Mar 27, 2023
43dcb8b
Improve extension skip
Mallets Mar 27, 2023
9b42ba0
Fix code fmt
Mallets Mar 27, 2023
97aa224
Add skip extension test
Mallets Mar 28, 2023
4e2719d
Put message
Mallets Mar 29, 2023
126ac02
Del message
Mallets Mar 29, 2023
92e3abd
New Query message
Mallets Mar 29, 2023
2b8fd28
New Reply message
Mallets Mar 29, 2023
f368f26
New Error message
Mallets Mar 30, 2023
9325544
New Ack message
Mallets Mar 30, 2023
a38acb2
Remove Destination extension as deemmed useless
Mallets Mar 30, 2023
51dea77
Fix nostd check
Mallets Mar 30, 2023
c7eb3e0
Renamed Forget* declarations to Undeclare*
Mallets Mar 30, 2023
4ac1736
Extensions and payload are limited to 2^32 bytes
Mallets Mar 30, 2023
6ea014a
Remove Destination ext from Request
Mallets Mar 30, 2023
a1bd95c
Request Limit and Timeout extensions
Mallets Mar 30, 2023
09ca712
Fix comment typos
Mallets Mar 31, 2023
3e1b387
Request/Query/Reply extension rework
Mallets Mar 31, 2023
840a9c9
Read/Write unknown extensions at Zenoh level
Mallets Apr 4, 2023
0db8f61
Add NodeId extention
OlivierHecart Apr 5, 2023
7fbefea
Merge branch 'new-protocol' of github.com:eclipse-zenoh/zenoh into ne…
Mallets Apr 6, 2023
8cdf764
Fix nostd and codec
Mallets Apr 6, 2023
29ed1d0
Declare/Final/Undeclare-Interest message
Mallets Apr 6, 2023
b45571b
Add Oneshot flag on Interest
Mallets Apr 7, 2023
53919b8
Merge with master
Mallets Apr 11, 2023
a5106da
More compact DeclareInterest message
Mallets Apr 12, 2023
09c8ed0
Add Future flag in DeclareInterest message
Mallets Apr 13, 2023
1128aa1
Explicit extension ID in all messages
Mallets Apr 13, 2023
52be188
Merge master into new-protocol
Mallets Jun 14, 2023
42d9b26
Fix cargo clippy
Mallets Jun 15, 2023
ac3d9c9
Add Pull message
Mallets Jun 16, 2023
e2e521a
Move Pull into Zenoh layer
Mallets Jun 16, 2023
809532a
Add ResponderId extension
OlivierHecart Jun 27, 2023
560ce8b
WireExpr extension for undeclarations
Mallets Jun 27, 2023
52f1cbf
Improve WireExpr extension for undeclarations
Mallets Jun 27, 2023
bc9a510
Fix cargo fmt
Mallets Jun 27, 2023
acae401
Remove SourceInfo ext from Pull message
OlivierHecart Jun 28, 2023
79559bb
Fix UndeclareInterest ID
Mallets Jun 29, 2023
f8a0548
Router layer uses new protocol
OlivierHecart Jun 29, 2023
ba5243c
Add missing files
OlivierHecart Jun 29, 2023
f63e7be
Uncomment pipeline tests
OlivierHecart Jun 29, 2023
bfddfbb
Uncomment token undeclaration mgt
OlivierHecart Jun 30, 2023
1a3130d
New key mapping
OlivierHecart Jun 30, 2023
2b52a67
Renable unicast_transport tests
Mallets Jun 30, 2023
a8be222
Merge branch 'new-protocol' of github.com:eclipse-zenoh/zenoh into ne…
Mallets Jun 30, 2023
c59c062
Fix unicast_transport test
Mallets Jul 3, 2023
d0469f2
Merge branch 'master' into new-protocol
Mallets Jul 3, 2023
366b558
Merge master into new-protocol
Mallets Jul 3, 2023
3845d54
Re-enabling unicast_concurrent tests
Mallets Jul 3, 2023
6d6c504
Re-enabling unicast_conduit tests
Mallets Jul 3, 2023
48cdae2
Re-enabling unicast_defragmentation tests
Mallets Jul 3, 2023
bee4eb9
Re-enabling unicast_intermittent tests
Mallets Jul 3, 2023
a5564d6
Re-enabling unicast_simultaneous tests
Mallets Jul 3, 2023
79f4520
Add From<ExprId> for WireExpr<'_>
Mallets Jul 4, 2023
395bdac
Add SHM extension to Put message
Mallets Jul 12, 2023
4352101
Renable SHM for Put operations
Mallets Jul 12, 2023
a45be29
Fix nostd check
Mallets Jul 13, 2023
18c8baf
ZBuf sliced for SHM support
Mallets Jul 19, 2023
599a704
Improve ZInt bounded encoding
Mallets Jul 24, 2023
4c36bb3
Revert "Improve ZInt bounded encoding"
Mallets Jul 24, 2023
3262379
Improve ZInt bounded encoding
Mallets Jul 24, 2023
bdf35f3
Apply pedantic clippy to zenoh-colletions and zenoh-buffers
Mallets Jul 28, 2023
48d7230
Apply pedantic clippy to zenoh-colletions and zenoh-buffers
Mallets Jul 28, 2023
a485cb8
Merge branch 'new-protocol' of github.com:eclipse-zenoh/zenoh into ne…
Mallets Jul 28, 2023
faa701e
Remove slice boundaries check in zenoh-buffers
Mallets Jul 28, 2023
dafd229
Value extension for Query and Err messages
Mallets Jul 29, 2023
a1ec6c2
Add SHM support to Reply
Mallets Jul 29, 2023
b85f3b4
Fix cargo clippy
Mallets Jul 31, 2023
1308172
Merge with master. Multicast is broken.
Mallets Jul 31, 2023
c7dabae
Fix shared memory clippy
Mallets Jul 31, 2023
a43a376
Fix shared memory clippy
Mallets Jul 31, 2023
17c6c02
Merge branch 'new-protocol' of github.com:eclipse-zenoh/zenoh into ne…
Mallets Jul 31, 2023
05c6907
Fix SHM test
Mallets Jul 31, 2023
d07437a
Fix doc test
Mallets Jul 31, 2023
1d9c1e4
Multicast support (#526)
Mallets Aug 7, 2023
2c4f676
Impl Debug for EndPoint and Locator
Mallets Aug 8, 2023
9763417
Open multicast transport on scouting
Mallets Aug 8, 2023
a784ec6
Merge master into new-protocol
Mallets Aug 8, 2023
29be5cb
Set default multicast batch size to 8192
Mallets Aug 9, 2023
ec5d09f
Fix join SN codec order (#530)
Mallets Aug 10, 2023
fa0bc23
Zenoh shm link layer and tests (#509)
yellowhatter Aug 16, 2023
f4feef2
Uncomment tables tests
OlivierHecart Aug 22, 2023
30e88cc
Fix build with shared-memory feature
OlivierHecart Aug 22, 2023
98a1427
Don't run zenoh_session_unicast concurrently
OlivierHecart Aug 24, 2023
5ffe205
Reenable stats feature
OlivierHecart Aug 25, 2023
4acde2f
Merge branch 'master' into new-protocol
OlivierHecart Aug 25, 2023
10d3c22
Fix build with no features
OlivierHecart Aug 28, 2023
684019b
Fix build with complete_n feature
OlivierHecart Aug 28, 2023
8961430
Reexport public types in zenoh-config
OlivierHecart Aug 29, 2023
b46da43
Implement Properties into HashMap
OlivierHecart Aug 29, 2023
6b38103
Peers send sub declarations to multicast
OlivierHecart Sep 4, 2023
57cb492
Fix ValueType encoding
OlivierHecart Sep 5, 2023
9ae659a
New protocol stats (#546)
OlivierHecart Sep 7, 2023
a674da9
Merge branch 'master' into new-protocol
OlivierHecart Sep 7, 2023
e21469c
Remove old zenoh messages
OlivierHecart Sep 7, 2023
6d37e6c
Rename zenoh_new to zenoh
OlivierHecart Sep 7, 2023
3694147
Disable shm tests for macos (#547)
yellowhatter Sep 8, 2023
62d0f8e
Correct the default value of shared_memory (#548)
YuanYuYuan Sep 8, 2023
d0f08e8
Do not send sub declarations to multicast on windows
OlivierHecart Sep 8, 2023
1829a20
Send Declare, Request, Response, ResponseFinal and Oam messages with …
OlivierHecart Sep 8, 2023
960edbc
Publications from a publisher are done with the correct priotity and …
OlivierHecart Sep 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[[profile.default.overrides]]
filter = 'test(/zenoh_session_unicast/)'
threads-required = 'num-cpus'
23 changes: 22 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,24 +43,31 @@ jobs:
with:
command: fmt
args: -- --check
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets -- -D warnings
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy unstable
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --features unstable -- -D warnings
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy shared-memory
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' }}
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --features shared-memory -- -D warnings
args: --all-targets --features shared-memory --features transport_shm -- -D warnings

test:
name: Run tests on ${{ matrix.os }}
Expand Down Expand Up @@ -92,6 +99,17 @@ jobs:
command: nextest
args: run --exclude zenoh-examples --exclude zenoh-plugin-example --workspace
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

- name: Run tests with SHM
if: ${{ matrix.os == 'ubuntu-latest' }}
uses: actions-rs/cargo@v1
with:
command: nextest
args: run -F shared-memory -F transport_shm -p zenoh-transport
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

- name: Run doctests
Expand All @@ -100,6 +118,7 @@ jobs:
command: test
args: --doc
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

nostd:
Expand All @@ -123,3 +142,5 @@ jobs:
with:
command: check
args: --bin nostd_check --target x86_64-unknown-none --manifest-path ci/nostd-check/Cargo.toml
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
1 change: 0 additions & 1 deletion .github/workflows/crates_check.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
cargo check -p zenoh-result --manifest-path commons/zenoh-result/Cargo.toml &&
cargo check -p zenoh-core --manifest-path commons/zenoh-core/Cargo.toml &&
cargo check -p zenoh-keyexpr --manifest-path commons/zenoh-keyexpr/Cargo.toml &&
cargo check -p zenoh-cfg-properties --manifest-path commons/zenoh-cfg-properties/Cargo.toml &&
cargo check -p zenoh-collections --manifest-path commons/zenoh-collections/Cargo.toml &&
cargo check -p zenoh-crypto --manifest-path commons/zenoh-crypto/Cargo.toml &&
cargo check -p zenoh-buffers --manifest-path commons/zenoh-buffers/Cargo.toml &&
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/crates_publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ cargo login $1
(cd commons/zenoh-result && cargo publish)
(cd commons/zenoh-core && cargo publish)
(cd commons/zenoh-keyexpr && cargo publish)
(cd commons/zenoh-cfg-properties && cargo publish)
(cd commons/zenoh-collections && cargo publish)
(cd commons/zenoh-crypto && cargo publish)
(cd commons/zenoh-buffers && cargo publish)
Expand Down
17 changes: 15 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ jobs:
with:
command: fmt
args: -- --check
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy check
uses: actions-rs/cargo@v1
with:
Expand Down Expand Up @@ -116,19 +119,25 @@ jobs:
run: rustup show
- name: Install nextest
run: cargo install cargo-nextest --locked
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Run tests
uses: actions-rs/cargo@v1
with:
command: nextest
args: run --release --features=${{ github.event.inputs.features}} --verbose
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

- name: Run doctests
uses: actions-rs/cargo@v1
with:
command: test
args: --release --features=${{ github.event.inputs.features}} --doc
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

doc:
Expand All @@ -142,8 +151,6 @@ jobs:
- name: Install Rust toolchain nightly for docs gen
run: rustup toolchain install nightly
- name: generate doc
env:
RUSTDOCFLAGS: -Dwarnings
uses: actions-rs/cargo@v1
with:
toolchain: nightly
Expand Down Expand Up @@ -248,20 +255,26 @@ jobs:
with:
command: deb
args: --no-build --target=${{ matrix.job.target }} -p zenohd
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Debian package - zenoh-plugin-storage-manager
if: contains(matrix.job.target, '-linux-gnu')
uses: actions-rs/cargo@v1
with:
command: deb
args: --no-build --target=${{ matrix.job.target }} -p zenoh-plugin-storage-manager
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Debian package - zenoh-plugin-rest
if: contains(matrix.job.target, '-linux-gnu')
uses: actions-rs/cargo@v1
with:
command: deb
args: --no-build --target=${{ matrix.job.target }} -p zenoh-plugin-rest
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Packaging
id: package
Expand Down
Loading