using SVSim.BattleNode.Bridge;
namespace SVSim.EmulatedEntrypoint.Matching;
///
/// Minimal in-process matching queue stand-in. The proper queue API is a separate
/// spec; this is enough to actually pair two viewers polling /do_matching on the
/// same mode.
///
public interface IMatchingPairUpService
{
///
/// Try to pair the calling viewer with an already-waiting partner.
/// Returns the resolved when a partner was found
/// (either this call paired with a waiter, or a previous pairing's result is
/// still cached for this viewer). Returns null if this viewer is the first
/// arriver and should be parked (caller returns 3001 RETRY).
///
Task TryPairAsync(string mode, BattlePlayer player, CancellationToken ct);
}