I’ve built a component that allows other components to ‘subscribe’ (register a handler) to receive asynchronous event messages via the Legato Event handling API.
I’m just wondering what happens to event ‘messages’ when a second event is received by the same handler before the previous one has finished processing?
Are the messages ‘queued’ (will be processed when the previous one has finished), or are they ‘dropped’ (couldn’t handle the new message because the handler was still working on the previous one)?
It’s not that I have very long messages, but I have identified a potential state where two messages could come in at (very close to) the same time. If messages are dropped, then I’ll have to look at casting a thread to process the message so that the event handler blocks for the least amount of time possible. But I don’t want to have to deal with multi-threading unless I really have to!
BTW, order of message reception is not important in this application.