[package]
edition = "2021"
rust-version = "1.80"
name = "oms-modbus"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "[Preview] High-performance, transport-generic Modbus library. Full Master (client) and Slave (server) for TCP, RTU, ASCII — unified API, passive bus monitoring, spec-compliant timing."
homepage = "https://github.com/orangehorsetech/oms-modbus"
documentation = "https://docs.rs/oms-modbus"
readme = "README.md"
keywords = [
"modbus",
"tcp",
"rtu",
"ascii",
"industrial",
]
categories = [
"embedded",
"network-programming",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/orangehorsetech/oms-modbus"
[package.metadata.docs.rs]
rustdoc-args = []
[lib]
name = "oms_modbus"
path = "src/lib.rs"
[[example]]
name = "all_function_codes"
path = "examples/all_function_codes.rs"
[[example]]
name = "bus_monitor"
path = "examples/bus_monitor.rs"
[[example]]
name = "bus_timing"
path = "examples/bus_timing.rs"
[[example]]
name = "custom_service"
path = "examples/custom_service.rs"
[[example]]
name = "custom_tap"
path = "examples/custom_tap.rs"
[[example]]
name = "dynamic_server"
path = "examples/dynamic_server.rs"
[[example]]
name = "file_recorder"
path = "examples/file_recorder.rs"
[[example]]
name = "generic_transport"
path = "examples/generic_transport.rs"
[[example]]
name = "reconnect"
path = "examples/reconnect.rs"
[[example]]
name = "reconnect_serial"
path = "examples/reconnect_serial.rs"
[[example]]
name = "rtu_server"
path = "examples/rtu_server.rs"
[[example]]
name = "server_with_hook"
path = "examples/server_with_hook.rs"
[[example]]
name = "tcp_client"
path = "examples/tcp_client.rs"
[[example]]
name = "tcp_client_auto_tid"
path = "examples/tcp_client_auto_tid.rs"
[[example]]
name = "tcp_client_gateway"
path = "examples/tcp_client_gateway.rs"
[[example]]
name = "tcp_server"
path = "examples/tcp_server.rs"
[[test]]
name = "ascii_server_tests"
path = "tests/ascii_server_tests.rs"
[[test]]
name = "bus_timing_tests"
path = "tests/bus_timing_tests.rs"
[[test]]
name = "capture_tests"
path = "tests/capture_tests.rs"
[[test]]
name = "codec_resilience"
path = "tests/codec_resilience.rs"
[[test]]
name = "codec_tests"
path = "tests/codec_tests.rs"
[[test]]
name = "error_tests"
path = "tests/error_tests.rs"
[[test]]
name = "frame_tests"
path = "tests/frame_tests.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "options_tests"
path = "tests/options_tests.rs"
[[test]]
name = "readme_examples"
path = "tests/readme_examples.rs"
[[test]]
name = "reconnect_tests"
path = "tests/reconnect_tests.rs"
[[test]]
name = "recording_tests"
path = "tests/recording_tests.rs"
[[test]]
name = "rtu_server_tests"
path = "tests/rtu_server_tests.rs"
[[test]]
name = "serial_live_test"
path = "tests/serial_live_test.rs"
[[test]]
name = "serial_reconnect_tests"
path = "tests/serial_reconnect_tests.rs"
[[test]]
name = "server_hook_tests"
path = "tests/server_hook_tests.rs"
[[test]]
name = "slave_store_tests"
path = "tests/slave_store_tests.rs"
[[test]]
name = "sniff_io_tests"
path = "tests/sniff_io_tests.rs"
[[test]]
name = "spec_compliance"
path = "tests/spec_compliance.rs"
[[bench]]
name = "crc_bench"
path = "benches/crc_bench.rs"
harness = false
[[bench]]
name = "pdu_bench"
path = "benches/pdu_bench.rs"
harness = false
[[bench]]
name = "transport_bench"
path = "benches/transport_bench.rs"
harness = false
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1"
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
[dependencies.log]
version = "0.4"
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"net",
"rt",
"time",
"sync",
"macros",
"io-util",
]
[dependencies.tokio-serial]
version = "5"
[dependencies.tokio-util]
version = "0.7"
features = ["codec"]
[dev-dependencies.crc]
version = "3"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.tokio]
version = "1"
features = ["rt-multi-thread"]