def METHOD_NAME(self, fd: int, callback: Callable[[], typing.Any]) -> int:
    """
    Call callback() when fd has some data to read.  No parameters
    are passed to callback.
    Returns a handle that may be passed to remove_watch_file()
    fd -- file descriptor to watch for input
    callback -- function to call when input is available
    """
    self._loop.add_reader(fd, self._also_call_idle(callback))
    return fd