def METHOD_NAME(self):
    try:
        data = self.read_socket.read(self.read_timeout)
        if len(data) <= 0:
            Logger.info(f"{self.name}: Udp read returned 0 bytes (stream closed)")
        extra = None
        self.read_interface_base(data, extra)
        return (data, extra)
    # TODO: select.select can throw TypeErorr: fileno() returned a non-integer
    # Does it also throw socket.error?
    except (TypeError, socket.error):
        return (None, None)