code: def _on_add_route(self, msg):
          
          if msg.is_dead:
              return
  
          target_id_s, _, target_name = bytes_partition(msg.data, b(':'))
          target_name = target_name.decode()
          target_id = int(target_id_s)
          self.router.context_by_id(target_id).name = target_name
          stream = self.router.stream_by_id(msg.auth_id)
          current = self.router.stream_by_id(target_id)
          if current and current.remote_id != mitogen.parent_id:
              LOG.error('Cannot add duplicate route to %r via %r, '
                        'already have existing route via %r',
                        target_id, stream, current)
              return
  
          LOG.debug('Adding route to %d via %r', target_id, stream)
          self._routes_by_stream[stream].add(target_id)
          self.router.add_route(target_id, stream)
          self._propagate_up(mitogen.core.ADD_ROUTE, target_id, target_name)
docs: Respond to :data:`mitogen.core.ADD_ROUTE` by validating the source of
          the message, updating the local table, and propagating the message
          upwards.