Synchronous messages cannot be answered with different type of encoder Current generated message handler has a special case for async messages and a special case for synchronous messages. The synchronous messages message handler signature is (Connection& connection, Decoder& decoder, Encoder& replyEncoder). This is inconvenient for planned WebGL IPC "stream" feature. In the "stream" use-case, most of the sync messages would come in the same way as async messages, via SHM memory buffer. The reply should go to the SHM memory buffer too, with the help of stream-specific encoder. Since the stream-specific encoder is not IPC::Encoder, current generated message handlers cannot support this. A solution could be to move the sync reply id to the end of the message payload, so that the message handling of async and sync messages can be unified.
Created attachment 418276 [details] Patch
Created attachment 418278 [details] Patch
<rdar://problem/73825012>
This is probably not needed. Currently the handleMessage function can dig out the sync reply id for the streams. Marking this as not blocking webglgpup and configuration changed.