code: def _readable(self, watcher, events):
          
          try:
              data = self.sock.recv(4096)
              if len(data) == 0:
                  self._close(ConnectionClosed())
              else:
                  self.read_cb(data)
          except IOError as e:
              self._close(e)
docs: Called by the pyev watcher (self.read_watcher) whenever the socket
          is readable.
  
          Calls recv and checks for errors. If there are no errors then read_cb
          is called with the newly arrived bytes. Otherwise closes the socket
          and calls close_cb with the error.