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

2.0.0 #119

Merged
merged 100 commits into from
Oct 10, 2024
Merged

2.0.0 #119

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
47a841a
rust: switch project layout from workspace to lib
nbuffon Oct 6, 2023
3b4c70d
rust: add mobility module
nbuffon Nov 17, 2023
1f1efce
rust: add Position in mobility module
nbuffon Nov 17, 2023
75dee34
rust: add Mobile trait in mobility module
nbuffon Nov 17, 2023
70496cc
rust: bench position::vincenty_destination
nbuffon Nov 10, 2023
868d23a
rust: add dependency to thiserror:1.0
nbuffon Nov 24, 2023
dadd5ce
rust: quadtree mod
nbuffon Nov 24, 2023
931ad25
rust: add haversine_destination function in position.rs
nbuffon Nov 23, 2023
6098497
rust: add distance_to_polyline function in position.rs
nbuffon Nov 22, 2023
54abc80
rust: add Quadtree type to manipulate a set of keys
nbuffon Dec 1, 2023
6594f0d
rust: add dependency to serde
nbuffon Oct 10, 2023
6583938
rust: add `now()` in lib.rs
nbuffon Nov 15, 2023
ee852d0
rust: derive Serialize/Deserialize for Position
nbuffon Dec 14, 2023
e0f6c91
rust: impl Eq for Position
nbuffon Dec 14, 2023
7da8181
rust: exchange mod
nbuffon Dec 14, 2023
86d9af3
rust: add dependency to `enum_dispatch`
nbuffon Nov 17, 2023
b2f4109
rust: message mod in exchange
nbuffon Nov 17, 2023
6039625
rust: add mortal trait in exchange mod
nbuffon Nov 17, 2023
eb90770
rust: rust: add Content trait in message mod
nbuffon Nov 17, 2023
bc65000
rust: SequenceNumber struct
nbuffon Nov 23, 2023
724fb08
rust: add etsi module
nbuffon Nov 15, 2023
22ce1a4
rust: ETSI reference position definition
nbuffon Nov 16, 2023
80fd05b
rust: ETSI CAM struct definition
nbuffon Nov 20, 2023
115a332
rust: add CAM declaration as Message enum variant
nbuffon Nov 20, 2023
d59af6b
rust: add ETSI timestamp conversion functions
nbuffon Nov 22, 2023
6aefb5e
rust: ETSI DENM struct definition
nbuffon Nov 22, 2023
a55ed08
rust: ETSI SPATEM struct declaration
nbuffon Nov 22, 2023
45684af
rust: ETSI MAPEM struct declaration
nbuffon Nov 22, 2023
795f02f
rust: dependency to integer_sqrt:0.1
nbuffon Nov 23, 2023
2c33298
rust: ETSI CPM struct definition
nbuffon Nov 23, 2023
eaba112
rust: add client mod
nbuffon Nov 29, 2023
07d1fc5
rust: Information now is just a message struct
nbuffon Nov 30, 2023
f65804e
rust: split Configuration into Configuration and NodeConfiguration
nbuffon Nov 30, 2023
7da2c6b
rust: fix documentation warnings
nbuffon Feb 6, 2024
ead1a70
rust: update clippy's clause name
nbuffon Feb 20, 2024
4b6c8b4
rust: config.ini example
nbuffon Mar 5, 2024
579b4b1
rust: add transport mod
nbuffon Nov 23, 2023
548fe4c
rust: add mqtt mod
nbuffon Nov 24, 2023
23e589c
rust: switch Topic from struct to trait
nbuffon Nov 28, 2023
b333cbe
rust: rename Item to Packet
nbuffon Nov 28, 2023
134f67f
rust: MqttRouter
nbuffon Dec 20, 2023
892703d
rust: MqttClient
nbuffon Dec 20, 2023
674f995
rust: add MQTT settings in Configuration
nbuffon Jan 15, 2024
2a620a8
rust: Quadkey no longer impl Ord
nbuffon Mar 15, 2024
873cb5b
rust: rename Readme.md into README.md
nbuffon Apr 4, 2024
37f8e32
rust: analyzer traits
nbuffon Dec 21, 2023
a671f4d
rust: Cause and monitor.rs
nbuffon Dec 27, 2023
3e85ef4
rust: add Payload trait
nbuffon Dec 28, 2023
a03db75
rust: pipeline
nbuffon Jan 8, 2024
bf1ff4a
rust: fix Exchange deserialization
nbuffon Dec 29, 2023
875a1bf
rust: create_denm function in client mod
nbuffon Jan 8, 2024
05b3814
rust: update_denm function in client mod
nbuffon Apr 5, 2024
613e8bb
rust: remove unnecessary len() method on Quadkey
nbuffon Apr 5, 2024
a06bbf1
rust: allow unused function in test section
nbuffon Apr 8, 2024
4d7b231
rust: fix detection/reference times in ETSI DENM
nbuffon Apr 24, 2024
cc7f2f4
rust: RelevanceTrafficDirection and RelevanceDistance enums
nbuffon Apr 29, 2024
5006a20
rust: geo_routing feature
nbuffon Jan 16, 2024
994273b
rust: impl appropriate in Exchange and Message variants
nbuffon Jan 18, 2024
785f6c1
rust: CopyCat example
nbuffon Jan 18, 2024
a526d93
rust: fix etsi_now() function
nbuffon May 27, 2024
21cc647
rust: fix DENM's timeout() and remaining_time()
nbuffon May 27, 2024
d83fb55
rust: fix ETSI EPOCH constant
nbuffon Jun 10, 2024
c3ca141
Rust dependencies licenses cleanup
nbuffon Jun 17, 2024
4fd38ad
rust: update source files header
nbuffon Jun 17, 2024
6a2f95f
rust: remove old version code
nbuffon Jun 18, 2024
7bb55be
Rename AUTHORS to CONTRIBUTORS.md
nbuffon Jun 18, 2024
55276c3
Add Yann MORIN in CONTRIBUTORS.md
nbuffon Jun 18, 2024
769f5c3
rust: remove no longer relevant FIXME clause
nbuffon Jun 18, 2024
e8efeee
rust: use 1.79-slim-buster Docker image
nbuffon Jun 21, 2024
21837ce
rust: adjust the crates publish workflow to the new project architecture
nbuffon Jun 21, 2024
462e4e4
rust: add examples folder in Docker image
nbuffon Jun 21, 2024
69f0ff4
Main README.md quick rework
nbuffon Jun 21, 2024
b845102
rust: quick README.md rework
nbuffon Jun 21, 2024
a0dd14c
rust: rename package from libits to libits-client
nbuffon Jun 28, 2024
3c8cac5
rust: add websocket feature for rumqttc dependency
nbuffon Feb 9, 2024
08b87af
rust: set MQTT TLS/transport options from configuration
nbuffon Feb 9, 2024
62a411e
rust: use default config.ini instead of requiring
nbuffon Jun 3, 2024
00972ad
rust: copycat also log to stdout
nbuffon Jun 3, 2024
7e857e5
rust: copycat example subscribes to default instead of 5GCroCo
nbuffon Jul 12, 2024
c0f5248
rust: remove path declaration for copycat example
nbuffon Jul 16, 2024
083fe0f
rust: use v5 modules from rumqttc
nbuffon Jun 25, 2024
b6bd022
rust: bump rumqttc to 0.24
nbuffon Jul 19, 2024
9883a0d
rust: add mobility feature
nbuffon Jul 2, 2024
421e66b
rust: set MqttRouter and MqttClient as public
nbuffon Jul 9, 2024
7925f71
rust: use test.mosquitto.org in default config file
nbuffon Jul 9, 2024
e28eaf3
rust: json_counter example
nbuffon Jul 9, 2024
6e032ac
rust: restrict mobility related code to mobility feature
nbuffon Sep 13, 2024
64815ee
rust: add open telemetry dependencies
nbuffon Jul 31, 2024
3d47463
rust: add telemetry.rs
nbuffon Jul 31, 2024
6f1bd46
rust: add `telemetry` feature
nbuffon Sep 13, 2024
9a1b849
rust: telemetry configuration from ini file
nbuffon Sep 13, 2024
0b92353
rust: W3C context as MQTT property management in Packet
nbuffon Jul 31, 2024
07d2251
rust: add telemetry example
nbuffon Jul 31, 2024
9642e11
rust: fix geo_topic failing unit test
nbuffon Sep 13, 2024
fc86481
Update github workflow to test rust features
nbuffon Sep 16, 2024
7ee2ac7
rust: fix type in ConfigurationError
nbuffon Sep 19, 2024
69b71b5
rust: switch to batch exporter for telemetry
nbuffon Sep 19, 2024
55fd95e
rust: remove MqttRouter::new()
nbuffon Oct 9, 2024
68b2b77
rust: mask unused warning until further implementation
nbuffon Oct 9, 2024
b18db62
Remove rust run step from docker.yml workflow
nbuffon Oct 9, 2024
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
28 changes: 2 additions & 26 deletions .github/workflows/crates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Publish the its library
- name: Publish the ITS library
run: |
cd rust/libits-client
cargo publish --token ${{ secrets.CRATES_IO }}

publish_lib_copycat:
name: Publish the library example
runs-on: ubuntu-latest
needs: [publish_lib]
if: always()
steps:
- uses: actions/checkout@v2
- name: Publish the copycat example its library
run: |
cd rust/libits-copycat
cargo publish --token ${{ secrets.CRATES_IO }}

publish_bin_copycat:
name: Publish the binary example
runs-on: ubuntu-latest
needs: [publish_lib, publish_lib_copycat]
if: always()
steps:
- uses: actions/checkout@v2
- name: Publish the its binary using the copycat example
run: |
cd rust/its-client
cd rust/
cargo publish --token ${{ secrets.CRATES_IO }}
8 changes: 0 additions & 8 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,6 @@ jobs:
id: extract_branch
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
- name: Run Rust docker action
uses: ./rust
id: rust_run
with:
log_output: '/tmp'
# Use the output from the `hello` step
- name: Get the return code
run: echo "The return code was ${{ steps.rust_run.outputs.return_code }} on ${{ steps.extract_branch.outputs.branch }}"
- name: Run Python docker action
uses: ./python/its-client
id: python_run
Expand Down
44 changes: 43 additions & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,49 @@ jobs:
run: |
cd rust
cargo build --release --verbose
- name: Run tests
- name: mobility feature build
run: |
cd rust
cargo build --features mobility --verbose
- name: telemetry feature build
run: |
cd rust
cargo build --features telemetry --verbose
- name: geo_routing feature build
run: |
cd rust
cargo build --features geo_routing --verbose
- name: Build all features
run: |
cd rust
cargo build --all-features --verbose
- name: Release build all features
run: |
cd rust
cargo build --all-features --release --verbose

test:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: No features
run: |
cd rust
cargo test --verbose
- name: mobility feature test
run: |
cd rust
cargo test --features mobility --verbose
- name: telemetry feature test
run: |
cd rust
cargo test --features telemetry --verbose
- name: geo_routing feature test
run: |
cd rust
cargo test --features geo_routing --verbose
- name: All feature
run: |
cd rust
cargo test --all-features --verbose
4 changes: 3 additions & 1 deletion AUTHORS.md → CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Authors
Authors
=======

* Frédéric GARDES <frederic(dot)gardes(at)orange(dot)com>
* Nicolas BUFFON <nicolas(dot)buffon(at)orange(dot)com>
* Yann MORIN <yann(dot)morin(at)orange(dot)com>

36 changes: 19 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,40 @@
# its-client
its-client
==========

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://github.com/Orange-OpenSource/its-client/workflows/Rust/badge.svg)](https://github.com/Orange-OpenSource/its-client/actions/workflows/rust.yml)
[![Build Status](https://github.com/Orange-OpenSource/its-client/workflows/Python/badge.svg)](https://github.com/Orange-OpenSource/its-client/actions/workflows/python.yml)
[![Build Status](https://github.com/Orange-OpenSource/its-client/workflows/Docker/badge.svg)](https://github.com/Orange-OpenSource/its-client/actions/workflows/docker.yml)
[![crates.io](https://img.shields.io/crates/v/its-client)](https://crates.io/crates/its-client)

This Intelligent Transportation Systems (ITS) [MQTT](https://mqtt.org/) client based on
the [JSon](https://www.json.org) [ETSI](https://www.etsi.org/committee/its) specification transcription provides a ready to connect project for the mobility
This Intelligent Transportation Systems (ITS) [MQTT][1] client based on
the [JSON][2] [ETSI][3] specification transcription provides a ready to connect project for the mobility
(connected and autonomous vehicles, road side units, vulnerable road users,...).

Let's connect your device or application to our Intelligent Transport Systems (ITS) platform!

## Packages
Packages
--------

We provide many packages into the same project.

### JSon Schema

[ETSI.org](https://www.etsi.org/committee/its) proposal of implementation using the JSon language (instead of ASN.1 by default).

### Rust libits-client

The Rust library to build a client.

### Rust libits-copycat
[ETSI.org][3] proposal of implementation using the [JSON][2] language (instead of ASN.1 by default).

A Rust library example cloning each message and waiting 3 seconds before to send it as un new mobile thing.
### Rust libits

### Rust its-client
[![Build Status](https://github.com/Orange-OpenSource/its-client/workflows/Rust/badge.svg)][4]
[![crates.io](https://img.shields.io/crates/v/its-client)](https://crates.io/crates/its-client)

A Rust binary example to connect on ITS platform using the libits-copycat example.
The Rust library to build a client.

### Python its-client

[![Build status](https://github.com/Orange-OpenSource/its-client/actions/workflows/python_its-client.yml/badge.svg)][5]

A Python package to connect on ITS platform as a Passenger car (station type 5):
you'll share your position and receive alerts from your direct environment.

[1]: https://mqtt.org/
[2]: https://www.json.org
[3]: https://www.etsi.org/committee/its
[4]: https://github.com/Orange-OpenSource/its-client/actions/workflows/rust.yml
[5]: https://github.com/Orange-OpenSource/its-client/actions/workflows/python_its-client.yml
105 changes: 51 additions & 54 deletions THIRD-PARTY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### License Apache 2.0

##### async-channel
#### async-channel
- [Source code](https://github.com/smol-rs/async-channel)

#### chrono
Expand All @@ -15,6 +15,14 @@
- [Source code](https://github.com/clap-rs/clap)
- Copyright (c) Kevin B. Knapp et al.

#### criterion
- [Source code](https://github.com/bheisler/criterion.rs)
- Copyright (c) 2014 Jorge Aparicio

#### crossbeam-channel
- [Source code](https://github.com/crossbeam-rs/crossbeam)
- Copyright (c) 2019 The Crossbeam Project Developers

#### flexi_logger
- [Source code](https://github.com/emabee/flexi_logger)

Expand All @@ -25,32 +33,19 @@
- [Source code](https://github.com/derekdreery/integer-sqrt-rs)
- Copyright (c) 2017 Richard Dodd

#### lazy_static
- [Source code](https://github.com/rust-lang-nursery/lazy-static.rs)
- Copyright (c) 2010 The Rust Project Developers

#### log
- [Source code](https://github.com/rust-lang/log)
- Copyright (c) 2014-present The Rust Project Developers

#### map_3d
- [Source code](https://github.com/gberrante/map_3d)

#### navigation
- [Source code](https://github.com/andygrove/rust-navigation)
- Copyright (c) Andy Grove

#### ndarray
- [Source code](https://github.com/rust-ndarray/ndarray)
- Copyright (c) 2015 - 2021 Ulrik Sverdrup "bluss", Jim Turner, and ndarray developers

#### pin-utils
- [Source code](https://github.com/rust-lang/pin-utils)
- Copyright (c) 2018 The pin-utils authors

#### pretty_env_logger
- [Source code](https://github.com/seanmonstar/pretty-env-logger)
- Copyright (c) 2017 Sean McArthur

#### rustls
- [Source code](https://github.com/rustls/rustls)
- Copyright (c) 2016, Joseph Birr-Pixton
#### rumqtt
- [Source code](https://github.com/bytebeamio/rumqtt)

#### serde
- [Source code](https://github.com/serde-rs/serde)
Expand All @@ -64,12 +59,34 @@
#### serde_with
- [Source code](https://github.com/jonasbb/serde_with)

#### thiserror
- [Source code](https://github.com/dtolnay/thiserror)

#### threadpool
- [Source code](https://github.com/rust-threadpool/rust-threadpool)
- Copyright (c) 2014 The Rust Project Developers

### License MIT

#### async-channel
- [Source code](https://github.com/smol-rs/async-channel)

#### clap
- [Source code](https://github.com/clap-rs/clap)
- Copyright (c) Kevin B. Knapp et al.

#### criterion
- [Source code](https://github.com/bheisler/criterion.rs)
- Copyright (c) 2014 Jorge Aparicio

#### crossbeam-channel
- [Source code](https://github.com/crossbeam-rs/crossbeam)
- Copyright (c) 2019 The Crossbeam Project Developers

#### enum_dispatch
- [Source code](https://gitlab.com/antonok/enum_dispatch)
- Copyright (c) 2019 Anton Lazarev

#### flexi_logger
- [Source code](https://github.com/emabee/flexi_logger)

Expand All @@ -80,32 +97,17 @@
- [Source code](https://github.com/derekdreery/integer-sqrt-rs)
- Copyright (c) 2017 Richard Dodd

#### lazy_static
- [Source code](https://github.com/rust-lang-nursery/lazy-static.rs)
- Copyright (c) 2010 The Rust Project Developers

#### log
- [Source code](https://github.com/rust-lang/log)
- Copyright (c) 2014-present The Rust Project Developers

#### async-channel
- [Source code](https://github.com/smol-rs/async-channel)

#### navigation
- [Source code](https://github.com/andygrove/rust-navigation)
- Copyright (c) Andy Grove

#### ndarray
- [Source code](https://github.com/rust-ndarray/ndarray)
- Copyright (c) 2015 - 2021 Ulrik Sverdrup "bluss", Jim Turner, and ndarray developers

#### pin-utils
- [Source code](https://github.com/rust-lang/pin-utils)
- Copyright (c) 2018 The pin-utils authors

#### pretty_env_logger
- [Source code](https://github.com/seanmonstar/pretty-env-logger)
- Copyright (c) 2017 Sean McArthur

#### rustls
- [Source code](https://github.com/rustls/rustls)
- Copyright (c) 2016, Joseph Birr-Pixton
#### rust-ini
- [Source code](https://github.com/zonyitoo/rust-ini)
- Copyright (c) 2014 Y. T. CHUNG

#### serde
- [Source code](https://github.com/serde-rs/serde)
Expand All @@ -120,6 +122,13 @@
#### serde_with
- [Source code](https://github.com/jonasbb/serde_with)

#### thiserror
- [Source code](https://github.com/dtolnay/thiserror)

#### threadpool
- [Source code](https://github.com/rust-threadpool/rust-threadpool)
- Copyright (c) 2014 The Rust Project Developers

#### tokio
- [Source code](https://github.com/tokio-rs/tokio)
- Copyright (c) 2021 Tokio Contributors
Expand All @@ -129,16 +138,6 @@
#### timer.rs
- [Source code](https://github.com/Yoric/timer.rs)

### License ISC

#### cheap-ruler
- [Source code](https://github.com/mapbox/cheap-ruler)
- Copyright (c) 2020, Mapbox

#### rustls
- [Source code](https://github.com/rustls/rustls)
- Copyright (c) 2016, Joseph Birr-Pixton

## Python

### License MIT
Expand Down Expand Up @@ -174,5 +173,3 @@
#### HiveMQ MQTT Client
- [Source code](https://github.com/hivemq/hivemq-mqtt-client)



15 changes: 0 additions & 15 deletions licenses/LICENSE-cheap-ruler (ISC).txt

This file was deleted.

File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -199,3 +199,4 @@ distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2018 The pin-utils authors
Copyright (c) 2014 Jorge Aparicio

Permission is hereby granted, free of charge, to any
person obtaining a copy of this software and associated
Expand Down
Loading
Loading