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/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp b/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
index 4bd1cd8..ff3a592 100644
--- a/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
+++ b/services/inputflinger/reader/mapper/MultiTouchInputMapper.cpp
@@ -282,7 +282,7 @@
if (outCount >= MAX_POINTERS) {
if (DEBUG_POINTERS) {
- ALOGD("MultiTouch device %s emitted more than maximum of %d pointers; "
+ ALOGD("MultiTouch device %s emitted more than maximum of %zu pointers; "
"ignoring the rest.",
getDeviceName().c_str(), MAX_POINTERS);
}