code: def add_bus(self, bus):
          
          if self._loop is not None and hasattr(bus, 'fileno') and bus.fileno() >= 0:
              # Use file descriptor to watch for messages
              reader = bus.fileno()
              self._loop.add_reader(reader, self._on_message_available, bus)
          else:
              reader = threading.Thread(target=self._rx_thread, args=(bus,),
                  name='can.notifier for bus "{}"'.format(bus.channel_info))
              reader.daemon = True
              reader.start()
          self._readers.append(reader)
docs: Add a bus for notification.
  
          :param can.BusABC bus:
              CAN bus instance.