Skip to content
Merged
47 changes: 43 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 13 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ resolver = "2"
members = [
"rodbus",
"rodbus-client",
# example binaries
"examples/client",
"examples/server",
"examples/perf",
# integration tests
"integration",
# FFI crates
"ffi/rodbus-bindings",
"ffi/rodbus-ffi",
"ffi/rodbus-ffi-java",
Expand All @@ -14,9 +21,11 @@ members = [
oo-bindgen = "0.8.7"
sfio-tokio-ffi = "0.9.0"
sfio-tracing-ffi = "0.9.0"
tokio = "1.37.0"
tracing = "0.1.40"
tracing-subscriber = { version = "0.3.18" }
tokio = "1.37"
tokio-util = "0.7"
tokio-stream = "0.1"
tracing = "0.1"
tracing-subscriber = "0.3"

[workspace.package]
authors = ["Step Function I/O LLC <[email protected]>>"]
Expand All @@ -36,6 +45,7 @@ trivial_casts = "deny"
missing_docs = "deny"
unused = { level = "deny", priority = -1 }
missing_copy_implementations = "deny"
unused_crate_dependencies = "deny"

[profile.release]
lto=true
29 changes: 29 additions & 0 deletions examples/client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
name = "example-client"
version = "1.4.0"

# inherit from workspace
authors.workspace = true
rust-version.workspace = true
edition.workspace = true
license-file.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[lints]
workspace = true

[dependencies]
rodbus = { path = "../../rodbus", features = ["tls", "serial"] }
tokio = { workspace = true, features = ["net", "sync", "io-util", "io-std", "time", "rt", "rt-multi-thread", "macros"] }
tokio-stream = { workspace = true }
tokio-util = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

[features]
default = ["tls", "serial"]
tls = []
serial = []
File renamed without changes.
28 changes: 28 additions & 0 deletions examples/perf/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[package]
name = "example-perf"
version = "1.4.0"

# inherit from workspace
authors.workspace = true
rust-version.workspace = true
edition.workspace = true
license-file.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[lints]
workspace = true

[dependencies]
rodbus = { path = "../../rodbus", features = ["tls", "serial"] }
clap = { version = "4.1.8", features = ["derive"] }
tokio = { workspace = true, features = ["net", "sync", "io-util", "io-std", "time", "rt", "rt-multi-thread", "macros"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

[features]
default = ["tls", "serial"]
tls = []
serial = []
File renamed without changes.
29 changes: 29 additions & 0 deletions examples/server/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
name = "example-server"
version = "1.4.0"

# inherit from workspace
authors.workspace = true
rust-version.workspace = true
edition.workspace = true
license-file.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true

[lints]
workspace = true

[dependencies]
rodbus = { path = "../../rodbus", features = ["tls", "serial"] }
tokio = { workspace = true, features = ["net", "sync", "io-util", "io-std", "time", "rt", "rt-multi-thread", "macros"] }
tokio-stream = { workspace = true }
tokio-util = { workspace = true, features = ["codec"] }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }

[features]
default = ["tls", "serial"]
tls = []
serial = []
File renamed without changes.
4 changes: 2 additions & 2 deletions ffi/rodbus-ffi/src/iterator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ impl<'a> RegisterValueIterator<'a> {
}

pub(crate) unsafe fn bit_value_iterator_next(
it: *mut crate::BitValueIterator,
it: *mut crate::BitValueIterator<'_>,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clippy fix

) -> Option<&crate::ffi::BitValue> {
match it.as_mut() {
Some(it) => match it.inner.next() {
Expand All @@ -46,7 +46,7 @@ pub(crate) unsafe fn bit_value_iterator_next(
}

pub(crate) unsafe fn register_value_iterator_next(
it: *mut crate::RegisterValueIterator,
it: *mut crate::RegisterValueIterator<'_>,
) -> Option<&crate::ffi::RegisterValue> {
match it.as_mut() {
Some(it) => match it.inner.next() {
Expand Down
12 changes: 6 additions & 6 deletions guide/docs/api/client/requests.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:request_param}}
{{#include ../examples/client/src/main.rs:request_param}}

{{#include ../rodbus/examples/client.rs:read_coils}}
{{#include ../examples/client/src/main.rs:read_coils}}
```

</TabItem>
Expand Down Expand Up @@ -149,9 +149,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:request_param}}
{{#include ../examples/client/src/main.rs:request_param}}

{{#include ../rodbus/examples/client.rs:write_single_coil}}
{{#include ../examples/client/src/main.rs:write_single_coil}}
```

</TabItem>
Expand Down Expand Up @@ -211,9 +211,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:request_param}}
{{#include ../examples/client/src/main.rs:request_param}}

{{#include ../rodbus/examples/client.rs:write_multiple_registers}}
{{#include ../examples/client/src/main.rs:write_multiple_registers}}
```

</TabItem>
Expand Down
2 changes: 1 addition & 1 deletion guide/docs/api/client/rtu_client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:create_rtu_channel}}
{{#include ../examples/client/src/main.rs:create_rtu_channel}}
```

</TabItem>
Expand Down
2 changes: 1 addition & 1 deletion guide/docs/api/client/tcp_client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:create_tcp_channel}}
{{#include ../examples/client/src/main.rs:create_tcp_channel}}
```

</TabItem>
Expand Down
8 changes: 4 additions & 4 deletions guide/docs/api/client/tls_client.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:tls_ca_chain_config}}
{{#include ../examples/client/src/main.rs:tls_ca_chain_config}}

{{#include ../rodbus/examples/client.rs:create_tls_channel}}
{{#include ../examples/client/src/main.rs:create_tls_channel}}
```

</TabItem>
Expand Down Expand Up @@ -89,9 +89,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:tls_self_signed_config}}
{{#include ../examples/client/src/main.rs:tls_self_signed_config}}

{{#include ../rodbus/examples/client.rs:create_tls_channel}}
{{#include ../examples/client/src/main.rs:create_tls_channel}}
```

</TabItem>
Expand Down
3 changes: 1 addition & 2 deletions guide/docs/api/logging.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:logging}}
{{#include ../examples/client/src/main.rs:logging}}
```

</TabItem>
Expand Down Expand Up @@ -126,4 +126,3 @@ Protocol decoding is always output at the *Info* log level. If left enabled, it
try adjusting the application-layer decoding first to gain visibility into the messages being exchanged on one channel at a time.
:::


2 changes: 1 addition & 1 deletion guide/docs/api/runtime.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/client.rs:runtime_init}}
{{#include ../examples/client/src/main.rs:runtime_init}}
// do things within the context of the runtime
// it is automatically shut down when this async fn returns
}
Expand Down
4 changes: 2 additions & 2 deletions guide/docs/api/server/rtu_server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/server.rs:handler_map_create}}
{{#include ../examples/server/src/main.rs:handler_map_create}}

{{#include ../rodbus/examples/server.rs:rtu_server_create}}
{{#include ../examples/server/src/main.rs:rtu_server_create}}
```

</TabItem>
Expand Down
4 changes: 2 additions & 2 deletions guide/docs/api/server/tcp_server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/server.rs:handler_map_create}}
{{#include ../examples/server/src/main.rs:handler_map_create}}

{{#include ../rodbus/examples/server.rs:tcp_server_create}}
{{#include ../examples/server/src/main.rs:tcp_server_create}}
```

</TabItem>
Expand Down
12 changes: 6 additions & 6 deletions guide/docs/api/server/tls_server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/server.rs:handler_map_create}}
{{#include ../examples/server/src/main.rs:handler_map_create}}

{{#include ../rodbus/examples/server.rs:tls_ca_chain_config}}
{{#include ../examples/server/src/main.rs:tls_ca_chain_config}}

{{#include ../rodbus/examples/server.rs:tls_server_create}}
{{#include ../examples/server/src/main.rs:tls_server_create}}
```

</TabItem>
Expand Down Expand Up @@ -112,11 +112,11 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/server.rs:handler_map_create}}
{{#include ../examples/server/src/main.rs:handler_map_create}}

{{#include ../rodbus/examples/server.rs:tls_self_signed_config}}
{{#include ../examples/server/src/main.rs:tls_self_signed_config}}

{{#include ../rodbus/examples/server.rs:tls_server_create}}
{{#include ../examples/server/src/main.rs:tls_server_create}}
```

</TabItem>
Expand Down
2 changes: 1 addition & 1 deletion guide/docs/api/server/write_handler.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ values={[
<TabItem value="Rust">

```rust
{{#include ../rodbus/examples/server.rs:request_handler}}
{{#include ../examples/server/src/main.rs:request_handler}}
```

</TabItem>
Expand Down
2 changes: 1 addition & 1 deletion guide/docs/examples/summary.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ We pull these code blocks from the example programs when we generate this guide.

The following links redirect to language-specific examples for the current version on Github:

* <a href={`${sitedata.github_url}/tree/${sitedata.version}/rodbus/examples`}>Rust</a>
* <a href={`${sitedata.github_url}/tree/${sitedata.version}/examples`}>Rust</a>
* <a href={`${sitedata.github_url}/tree/${sitedata.version}/ffi/bindings/c`}>C and C++</a>
* <a href={`${sitedata.github_url}/tree/${sitedata.version}/ffi/bindings/dotnet/examples`}>C#</a>
* <a href={`${sitedata.github_url}/tree/${sitedata.version}/ffi/bindings/java/examples/src/main/java/io/stepfunc/rodbus/examples`}>Java</a>
Loading