Order and ReceiverGroup.All

The order in which messages are received is the same for different actors if receivers is ReceiverGroup.All?

Answers

  • Meep
    Meep ✭✭

    The sequencing does not change, ReceiverGroup.All is just the way of identifying people without tightly linking their ActorNumber into the request.

    As @Tobias has said in the past. Use ReceiverGroup when you want to avoid race conditions whereby people's leave request might get enqueued into the room fiber before your request does, so the ActorNumber you supplied would become useless.

  • Hi Meep.

    Thanks for answer. I will try give more details.

    We want to use the photon server as an arbiter. Two players send a message with ReceiverGroup.All and we believe that winner of race condition the one whose message came first.

    Since ReceiverGroup.All is used, our message will be returned from the server. And it is important for us that the order of messages for both players is the same.

    Can we rely on it?

  • Meep
    Meep ✭✭

    Yes, ReceiverGroup does not change how the server sequences commands... it merely dictates who receives it.

    The Photon server will enqueue incoming commands into the room where they are tended to in a FIFO manner. Whoever reaches the server first will be ahead in the sequence and the next command is not processed until the previous one is finished. Therefore, the actor who's command was processed first will be the first response you get back from the server.