clients/rust: SDK methods for AcknowledgeAlarm + QueryActiveAlarms (PR E.6) #110
Reference in New Issue
Block a user
Delete Branch "track-e6-rust-alarm-sdk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Eleventh PR of the alarms-over-gateway epic (docs/plans/alarms-over-gateway.md). Mirrors PR E.2's .NET surface on the Rust async SDK. Depends on PR E.1 (#105, merged).
GatewayClient::acknowledge_alarm— async unary call. Uses the existingunary_requesthelper (call timeout) and routes failures throughErrormapping; non-OK protocol status promotes toError::ProtocolStatusviaensure_protocol_success.GatewayClient::query_active_alarms— async server-streaming call returning a newActiveAlarmStreamtype alias (parallel toEventStream). Errors are pre-mapped fromtonic::Status; dropping the stream cancels the call cooperatively.GATEWAY_PROTOCOL_VERSIONbumped 2 → 3 to match the .NET contract.FakeGatewaytest impl extends to satisfy the new trait methods soclient_behavior.rsbuilds. Two new integration tests cover the new SDK methods.Test plan
client_behavior+ 4proto_fixtures= 26 tests, all pass undercargo testcargo buildclean (2 pre-existing missing-doc warnings, unrelated to this change)This closes the per-language Track E SDK work (E.2 .NET → E.6 Rust). E.7 (lmxopcua OPC UA-facing client refresh) is still pending and depends on B.2 + B.3.