NAME
src/pmc/alarm.pmc - Alarm
SYNOPSIS
    .include 'alarm.pasm'
    new P0, 'Alarm'
    set P0[.PARROT_ALARM_TIME], N_time   # A FLOATVAL
    set P0[.PARROT_ALARM_SUB],  P_sub    # set handler sub PMC
    invoke P0                            # schedule the alarm
DESCRIPTION
Sometime after N_time, P_sub will be called exactly once. Notice that due to various factors, the alarm is not guaranteed to execute at N_time, but only a short time thereafter. The length of "a short time" is very system dependent.
Functions
- void init()Initializes the alarm.
- PMC *clone()Create a copy of the alarm.
- PMC *get_pmc_keyed_int(INTVAL key)Returns the PMC associated with
- FLOATVAL get_number_keyed_int(INTVAL key)Returns the number associated with
- FLOATVAL get_number()Having the alarm numify to the time is convienient for sorting.
- void set_pmc_keyed_int(INTVAL key, PMC *value)Sets the PMC associated with
- opcode_t *invoke(void *next)Schedules the alarm and adds it to the alarm queue.
- void set_number_keyed_int(INTVAL key, FLOATVAL value)Sets the floating-point value associated with
key.
key.
key to *value.
key to value.