MsgDeliverEvent is more flexible then MsgSendPulse as it can deliver any type of event. Hence a server when being request to notify the client doesn’t need to worry if it’s a signal, pulse, thread etc. It also doesn’t have to create the connection.
MsgSendPulse() also have permission check, not anyone can MsgSendPulse() to anyone.
MsgDelieverEvent(0, &event) “MAY” work, but this is not the “official way” how it should
be used. (Means may not work someday later).