When developing a client to work with this system it is important to understand how the program will operate and what interactions are expected from clients.
At a high level, clients submit new matchmaking tickets to the service and monitor the state of that ticket either by means of polling or receiving push notifications provided by an active notification_services connection. Once a match has been found, the service will create a Match object containing all the relevant data about the match and set the
matchUid value onto each matched ticket. Clients can then retrieve the Match data and proceed to either join a dedicated server or coordinate a peer-hosted connection depending on the product’s implementation.
The following diagram illustrates this control flow between a client and the service.