| # Licensed under the Apache-2.0 license |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") |
| |
| # Host-buildable: pure `dispatch` + `LoopbackTransport`. No kernel/IPC dep — |
| # that is what makes the protocol path host-testable. The Pigweed wait/respond |
| # loop lives in //services/i2c/server-runtime (kernel-tagged). |
| rust_library( |
| name = "i2c_server", |
| srcs = [ |
| "src/lib.rs", |
| "src/loopback.rs", |
| "src/slave.rs", |
| ], |
| edition = "2024", |
| visibility = ["//visibility:public"], |
| deps = [ |
| "//services/i2c/api:i2c_api", |
| "@rust_crates//:zerocopy", |
| ], |
| ) |
| |
| # Host dispatch/error-mapping tests, no kernel/QEMU. |
| rust_test( |
| name = "i2c_server_test", |
| crate = ":i2c_server", |
| ) |