original_docstring: Updates the own gossip with the gossip from the in message
  
          Args:
              in_msg (list[dict]): An incoming message from another participant
          
docstring: Updates the own gossip with the gossip from the in message
docstring_tokens: Updates the own gossip with the gossip from the in message
code: def update_gossip(self, in_msg):
          """Updates the own gossip with the gossip from the in message
  
          Args:
              in_msg (list[dict]): An incoming message from another participant
          """
          in_gossip = in_msg.gossip
          for news in in_gossip:
              # If the news is not in own gossip add it
              if not any(entry.get("id") == news.get("id") for entry in self.gossip):
                  self.gossip.append(news)
              # Otherwise update existing news
              else:
                  own_news = next(
                      (entry for entry in self.gossip if entry["id"] == news["id"]), None)
                  # keep own gossip up to date
                  if news.get("id") == self.id:
                      own_news.update(
                          {"position": self.get_virtual_position(), "timestamp": self.env.now, "available_slots": self.slots - len(self.clients)})
                  # Update news if it is older than incoming news
                  elif own_news.get("timestamp") < news.get("timestamp"):
                      own_news.update(
                          {"position": news.get("position"), "timestamp": news.get("timestamp"), "available_slots": news.get("available_slots")})
                      if(self.discovery_protocol == "meridian" and news.get('type') == FogNode):
                          self.virtual_position.update_meridian(news)
code_tokens: def update_gossip ( self , in_msg ) : in_gossip = in_msg . gossip for news in in_gossip : if not any ( entry . get ( "id" ) == news . get ( "id" ) for entry in self . gossip ) : self . gossip . append ( news ) else : own_news = next ( ( entry for entry in self . gossip if entry [ "id" ] == news [ "id" ] ) , None ) if news . get ( "id" ) == self . id : own_news . update ( { "position" : self . get_virtual_position ( ) , "timestamp" : self . env . now , "available_slots" : self . slots - len ( self . clients ) } ) elif own_news . get ( "timestamp" ) < news . get ( "timestamp" ) : own_news . update ( { "position" : news . get ( "position" ) , "timestamp" : news . get ( "timestamp" ) , "available_slots" : news . get ( "available_slots" ) } ) if ( self . discovery_protocol == "meridian" and news . get ( 'type' ) == FogNode ) : self . virtual_position . update_meridian ( news )
short_docstring: Updates the own gossip with the gossip from the in message
short_docstring_tokens: Updates the own gossip with the gossip from the in message
comment: """Updates the own gossip with the gossip from the in message
  
          Args:
              in_msg (list[dict]): An incoming message from another participant
          """$SEP$# If the news is not in own gossip add it
  $SEP$# Otherwise update existing news
  $SEP$# keep own gossip up to date
  $SEP$# Update news if it is older than incoming news
  