1
#############################################################################
3
#############################################################################
8
HV *stash = gv_stashpv ("IOM_CLASS", 1);
9
SV *baseclass = newSVpv ("IOM_CLASS::watcher", 0);
14
} *civ, iom_const_iv[] = {
15
# define iom_const_iv(name) { # name, (IV)name }
16
iom_const_iv (EVENT_NONE),
17
iom_const_iv (EVENT_READ),
18
iom_const_iv (EVENT_WRITE),
22
for (civ = iom_const_iv + sizeof (iom_const_iv) / sizeof (iom_const_iv [0]); civ-- > iom_const_iv; )
23
newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv));
25
/* slightly dirty to put the same scalar into all those arrays, but */
26
/* we do not expect users to modify them anyways */
27
av_push (get_av ("IOM_CLASS" "::timer::ISA", 1), SvREFCNT_inc (baseclass));
28
av_push (get_av ("IOM_CLASS" "::iow::ISA", 1), SvREFCNT_inc (baseclass));
29
av_push (get_av ("IOM_CLASS" "::pw::ISA", 1), SvREFCNT_inc (baseclass));
30
av_push (get_av ("IOM_CLASS" "::iw::ISA", 1), SvREFCNT_inc (baseclass));
32
SvREFCNT_dec (baseclass);
36
#############################################################################
38
#############################################################################
40
MODULE = IOM_MODULE PACKAGE = IOM_CLASS::watcher
43
perl_watcher::cb (SV *cb)
49
#############################################################################
51
#############################################################################
53
MODULE = IOM_MODULE PACKAGE = IOM_CLASS::timer
60
RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::timer");
61
w->self = (HV *)SvRV (RETVAL);
73
timer::interval (NV interval)
75
THIS->interval = interval;
80
timer::set (NV tstamp)
87
timer::start (NV tstamp = THIS->at)
94
timer::after (NV delay)
96
THIS->start (NOW + delay);
110
#############################################################################
112
#############################################################################
114
MODULE = IOM_MODULE PACKAGE = IOM_CLASS::iow
120
RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow");
121
w->self = (HV *)SvRV (RETVAL);
133
iow::events (short events)
135
THIS->events = events;
156
#############################################################################
158
#############################################################################
160
MODULE = IOM_MODULE PACKAGE = IOM_CLASS::iw
166
RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw");
167
w->self = (HV *)SvRV (RETVAL);
188
#############################################################################
190
#############################################################################
192
MODULE = IOM_MODULE PACKAGE = IOM_CLASS::pw
198
RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw");
199
w->self = (HV *)SvRV (RETVAL);