template <typename FidlProtocol>

struct IncomingEventsStorage

|IncomingEventsStorage| allocates the necessary storage for receiving any one

of the possible events defined in |FidlProtocol| from its corresponding

transport. The allocation may be inline if reasonably small. It is useful for

allocating bespoke amount of memory when the code path is certain what is the

protocol type, such as during synchronous event handling.

|FidlProtocol| must be a protocol marker type.

This class is shared between wire and natural types - both receive messages

of the same shapes and then perform their own decoding.