3.2.5.4 Peer-to-Peer Host Disconnect (Possible Host Migration)

Peer-to-peer host disconnect (possible host migration)

Figure 15: Peer-to-peer host disconnect (possible host migration)

The host drops out of the game session.

  1. Using the version information for each player from the name table, the player with the lowest version number (connected peer) becomes the expected host. (This can be split out to more than one host, if multiple connections are severed when a host leaves.) That new host sends to the remaining connected peers:

    DN_HOST_MIGRATE

  2. All peers still in the game session will respond to the new host, providing the host with their name table versions:

    DN_NAMETABLE_VERSION

  3. If the host sees that there is a peer with a newer name table, the new host will request that peer to send the entries from its name table that are not contained within the host's name table:

    DN_REQ_NAMETABLE_OP

  4. Upon receiving DN_REQ_NAMETABLE_OP, the peer will return the missing name table entries to the host:

    DN_ACK_NAMETABLE_OP

  5. The host installs any missed name table entries and sends any name table operations missed by its peers as indicated by their reported name table versions in step 2. When all missing name table entries have been provided to all players, the host can confirm that all peers have the current name table version by sending:

    DN_RESYNC_VERSION

  6. After the name table has been brought up-to-date, the new host will respond to all connected peers:

    DN_HOST_MIGRATE_COMPLETE