Contents

SushiEngine::EventBus::Bus

publish

virtual void publish(ChannelHandle channel, const void *event, const EventOrderKey &key) noexcept override

Parameters

NameType
channelChannelHandle
eventconst void *
keyconst EventOrderKey &

Description

Appends event to channel for the next drain of each phase.

Every calling thread, main thread included, appends to its own Detail::StagingLane; drain and end_frame merge every lane into the logs first, so no thread's publish lands ahead of another's by anything but EventOrderKey and, on a tie, event bytes.