code: def receive_message(self, msg):
          
          if isinstance(msg, Resolution):
              return
          paxos = self.paxos_instance
          while msg:
              if isinstance(msg, Resolution):
                  self.print_if_verbose("{} resolved value {}".format(self.network_uid, msg.value))
                  break
              else:
                  self.print_if_verbose("{} <- {} <- {}".format(self.network_uid, msg.__class__.__name__, msg.from_uid))
                  msg = paxos.receive(msg)
                  # Todo: Make it optional not to announce resolution (without which it's hard to see final value).
                  do_announce_resolution = True
                  if msg and (do_announce_resolution or not isinstance(msg, Resolution)):
                      self.announce(msg)
  
          self.setattrs_from_paxos(paxos)
docs: Responds to messages from other participants.