Where to check sub msg ready in ROS intra-process communication

I’m using intra-process communication in a ROS node, with SingleThreadedExecutor.
When using DDS communication, ROS check whether the subscription new message arrives sequently in

get_next_executable
wait_for_work
rcl_wait
rmw_wait

But when using intra-process communication, I noticed that the subscription new messages were not be checked as when using DDS communication, and the subscription callbacks were executed as waitable.

So I want to figure out the mechanism of waitable and where subscription new message is checked when using intra-process communication.

Thanks for your question. However we ask that you please ask questions on http://answers.ros.org following our support guidelines: Support - ROS Wiki

ROS Discourse is for news and general interest discussions. ROS Answers provides a Q&A site which can be filtered by tags to make sure the relevant people can find and/or answer the question, and not overload everyone with hundreds of posts.

Sorry, I will migrate this question there. Should I remove this topic?

thanks for the awesome information.