Implement the client side of timed write. (#12567)
Fixes that had to be made alongside the main change:
1) Fix chip-tool to use the templated WriteAttribute for its
command-line writes so we can actually pass in the timeout optional
parameter for testing.
2) Factor some code for dealing with timed interactions out of
CommandSender into TimedRequest so WriteClient can share it.
3) Fix the OnError signature for WriteClient::Callback to take a
StatusIB, so we can properly communicate errors back and actually
test for them in YAML.
diff --git a/src/app/BUILD.gn b/src/app/BUILD.gn
index 5e5e7db..8024abc 100644
--- a/src/app/BUILD.gn
+++ b/src/app/BUILD.gn
@@ -123,6 +123,8 @@
"StatusResponse.h",
"TimedHandler.cpp",
"TimedHandler.h",
+ "TimedRequest.cpp",
+ "TimedRequest.h",
"WriteClient.cpp",
"WriteHandler.cpp",
"decoder.cpp",