コード例 #1
0
        // Start a Qos Discovery query
        public void Start(string fleetId, int discoveryTimeoutSec = 0, Action <QosServer[]> onCompletion = null)
        {
            discoveryTimeoutSec = discoveryTimeoutSec > 0 ? discoveryTimeoutSec : k_DefaultDiscoveryTimeoutSec;

            m_OnCompletion = onCompletion;

            var fleet = fleetId?.Trim();

            if (string.IsNullOrEmpty(fleet))
            {
                throw new ArgumentNullException(nameof(fleetId), $"{nameof(fleetId)} was null or empty; skipping discovery");
            }

            m_Discovery = new QosDiscovery();

            m_Discovery.StartDiscovery(fleet, discoveryTimeoutSec, DiscoverySuccess, DiscoveryError);
        }
コード例 #2
0
    // Make a discovery call if requirements are met
    void PopulateQosServerListFromService()
    {
        if (!useQosDiscoveryService)
        {
            return;
        }

        var fleet = fleetId?.Trim();

        // If a fleet is no longer specified, remove the discovery component
        //  Note - This does not remove the last results from the qosServers list
        if (string.IsNullOrEmpty(fleet))
        {
            throw new ArgumentNullException(nameof(fleetId), "Fleet ID is invalid - Discovery aborted");
        }

        m_Discovery = m_Discovery ?? new QosDiscovery();

        if (m_Discovery.State != DiscoveryState.Running)
        {
            m_Discovery.StartDiscovery(fleet, discoveryTimeoutSec, DiscoverySuccess, DiscoveryError);
        }
    }