equal
deleted
inserted
replaced
132 XXX: what happens if event_base's __dealloc__ is triggered, but there are still event objects alive? |
132 XXX: what happens if event_base's __dealloc__ is triggered, but there are still event objects alive? |
133 """ |
133 """ |
134 |
134 |
135 lib.event_free(self.ev) |
135 lib.event_free(self.ev) |
136 |
136 |
|
137 class CallbackEvent (event) : |
|
138 """ |
|
139 Extends the event type to take a callback and additional arguments to invoke from the __call__ method. |
|
140 """ |
|
141 |
|
142 def __init__ (self, event_base base, lib.evutil_socket_t fd, short events, object callback, *args, **kwargs) : |
|
143 # parent |
|
144 super(CallbackEvent, self).__init__(base, fd, events) |
|
145 |
|
146 # store |
|
147 self.callback = callback |
|
148 self.args = args |
|
149 self.kwargs = kwargs |
|
150 |
|
151 def __call__ (self, lib.evutil_socket_t fd, short mask) : |
|
152 self.callback(fd, mask, *self.args, **self.kwargs) |
|
153 |