Add static_asserts for the size of InputMessage
Inside InputTransport.cpp, we are reading and writing InputMessages.
This is done in the following way:
read
::recv(getFd(), msg, sizeof(InputMessage), MSG_DONTWAIT);
write
::send(getFd(), &cleanMsg, msgLength, MSG_DONTWAIT | MSG_NOSIGNAL);
We are sending a variable-length message across the socket, and
receiving a maximum of sizeof(InputMessage) when reading it.
In this CL, we are adding asserts on the _maximum_ length of the message
that we would send across the socket. Since we typically only have a few
pointers at most, while MAX_POINTERS=16, in reality the communication
between system_server and app will use much less data.
However, it's still useful to add these asserts to understand the
worst-case scenario of message transfer.
Bug: 167946763
Test: m StructLayout_test
Change-Id: I281ecea62b392dea56936d031ab9c4ee18add93f
diff --git a/include/input/Input.h b/include/input/Input.h
index f4147a0..55ebb90 100644
--- a/include/input/Input.h
+++ b/include/input/Input.h
@@ -164,7 +164,7 @@
* (We want at least 10 but some touch controllers obstensibly configured for 10 pointers
* will occasionally emit 11. There is not much harm making this constant bigger.)
*/
-#define MAX_POINTERS 16
+static constexpr size_t MAX_POINTERS = 16;
/*
* Maximum number of samples supported per motion event.