[ Event Handling | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# event_after(+Event, +Time, -DueTime)

Set up an event Event which is triggered at DueTime, after Time seconds have elapsed

Event
  Atom or Handle
Time
  Positive number
DueTime
  Variable, will be bound to a float

## Description

The event Event is raised after Time seconds of elapsed time from when the predicate is executed. This is identical to event_after/2, except that DueTime gets bound to the time at which the event will be raised. This time can be compared to the the current event_time as returned by statistics/2.

For more details, see event_after/2.

### Modes and Determinism

- event_after(+, +, -) is det

### Exceptions

(5) type error
  Event is neither an atom nor a handle or Time is not a positive number.

## Examples

        % With the following the handler definition
        report_due(DueTime) :-
    	 Remaining is DueTime - statistics(event_time),
    	 printf("Event is due in %w seconds%n", [Remaining]).

        ?- event_create(abort, [], E1),
    	event_after(E1, 5, Due),
    	event_create(report_due(Due), [], E2),
    	event_after_every(E2, 1),
    	repeat, fail.
        Event is due in 3.98999999999999 seconds
        Event is due in 2.98 seconds
        Event is due in 1.97 seconds
        Event is due in 0.959999999999994 seconds
        Aborting execution ...
        Abort

## See Also

event_after / 2, event_after_every / 2, cancel_after_event / 2, events_after / 1, event / 1, set_event_handler / 2, current_after_events / 1, event_create / 3, event_retrieve / 3, get_flag / 2, statistics / 2