package Rx.Dispatchers.Immediate is use type Ada.Calendar.Time; type Dispatcher is limited new Dispatchers.Dispatcher with private; -- Schedule a code to be run at a certain point from now, in a certain Dispatcher (thread) overriding procedure Schedule (Where : in out Dispatcher; What : Runnable'Class; Time : Ada.Calendar.Time := Ada.Calendar.Clock) with Pre => Time <= Ada.Calendar.Clock or raise Constraint_Error with "Future scheduling in immediate scheduler not allowed"; private type Dispatcher is limited new Dispatchers.Dispatcher with null record; end Rx.Dispatchers.Immediate;