'run() is the method that gets called by the scheduler to execute this task'

def run(self):

    while core.running:
        '\n                            This    looks    almost    exactly    like    python\'s    select.select,    except    that    it\'s\n                            it\'s    handled    cooperatively    by    recoco\n\n                            The    only    difference    in    Syntax    is    the    "yield"    statement,    and    the\n                            capital    S    on    "Select"\n                            '
        (rlist, wlist, elist) = (yield Select(self.sockets, [], [], 3))
        events = []
        for read_sock in rlist:
            if (read_sock in self.sockets):
                events.append(read_sock)
            if events:
                self.handle_read_events()
