Expand description
knx-ip — async KNXnet/IP tunnel and router connections.
This crate provides a complete async KNXnet/IP implementation:
TunnelConnection— unicast tunnel with retry, heartbeat, auto-reconnectRouterConnection— multicast routing with rate limiting (50 pkt/s)discovery— gateway discovery on the local networkMultiplexer/MultiplexHandle— fan out one connection to many handlesconnect/parse_url— URL-based connection factory
§Example
use knx_rs_ip::{connect, ConnectionSpec};
let spec = ConnectionSpec::Tunnel("192.168.1.50:3671".parse()?);
let mut conn = connect(spec).await?;
// conn.send(...) / conn.recv() ...Re-exports§
pub use multiplex::MultiplexHandle;pub use multiplex::Multiplexer;pub use tunnel_server::DeviceServer;pub use tunnel_server::ServerEvent;
Modules§
- discovery
- KNXnet/IP gateway discovery.
- multiplex
- Connection multiplexer — fan out a single connection into multiple handles.
- ops
- Application-level group operations for KNX connections.
- tunnel_
server - KNXnet/IP tunnel server — accepts incoming connections from ETS.
Structs§
- Router
Connection - A KNXnet/IP router connection over multicast UDP.
- Tunnel
Config - Configuration for a tunnel connection.
- Tunnel
Connection - A KNXnet/IP tunnel connection over unicast UDP.
Enums§
- AnyConnection
- A type-erased KNX connection — either tunnel or router.
- Connection
Spec - Specifies how to connect to a KNXnet/IP endpoint.
- KnxIp
Error - Errors that can occur during KNXnet/IP communication.
Constants§
- KNX_
MULTICAST_ ADDR - Default KNX multicast address.
- KNX_
PORT - Default KNX port.
Traits§
- KnxConnection
- Trait for KNXnet/IP connections that can send and receive CEMI frames.
Functions§
- connect
- Connect to a KNXnet/IP endpoint using the given specification.
- parse_
url - Parse a KNX URL into a
ConnectionSpec.