Example #1
0
    private void DiscoverDispatcher_Tick(object sender, EventArgs args)
    {
      if (this.m_sendRequests > MAX_RETRIES) {
        Debug.Error("Could not discover network server. Sended {0} discovery requests.", this.m_sendRequests);

        this.Stop(true);
        this.onDiscoveryFailed?.Invoke(this.m_sendRequests);
        return;
      }

      ConfigRequest l_requestMessage = new ConfigRequest();
      l_requestMessage.Port = this.m_responsePort;
      l_requestMessage.ServiceId = this.m_serviceId;

      NetworkPacket l_requestPacket = new NetworkPacket();
      l_requestPacket.Type = MessageType.ServiceConfigurationRequest;
      l_requestPacket.Message = l_requestMessage.ToByteString();

      byte[] requestData = l_requestPacket.ToByteArray();
      int sendBytesCount = this.m_discoverClient.Send(requestData, requestData.Length, this.m_requestAddress);

      Debug.Log("Send {0}. Discovery request Address={1} Bytes={2}.", this.m_sendRequests, this.m_requestAddress, sendBytesCount);
      this.m_sendRequests++;
    }
 public bool HasConfigRequest(string configName, out ConfigRequest configRequest)
 {
     return(_configRequestDict.TryGetValue(configName, out configRequest));
 }
Example #3
0
 public HandleResults HandleMessage(ConfigRequest message)
 {
     STrace.Debug(GetType().FullName, message.DeviceId, "HANDLE --> <ConfigRequest>");
     Enqueue(String.Format("LOG,{0},", message.DeviceId));
     return(HandleResults.BreakSuccess);
 }
Example #4
0
        protected override async Task <bool> PublishConfig(string dataId, string group, string tenant, string appName, string tag, string betaIps, string content, string type)
        {
            group = ParamUtils.Null2DefaultGroup(group);
            ParamUtils.CheckParam(dataId, group, content);

            ConfigRequest cr = new ConfigRequest();

            cr.SetDataId(dataId);
            cr.SetTenant(tenant);
            cr.SetGroup(group);
            cr.SetContent(content);

            // _configFilterChainManager.doFilter(cr, null);
            content = cr.GetContent();

            string url = Constants.CONFIG_CONTROLLER_PATH;

            var parameters = new Dictionary <string, string>(6);

            parameters["dataId"]  = dataId;
            parameters["group"]   = group;
            parameters["content"] = content;

            if (tenant.IsNotNullOrWhiteSpace())
            {
                parameters["tenant"] = tenant;
            }
            if (appName.IsNotNullOrWhiteSpace())
            {
                parameters["appName"] = appName;
            }
            if (tag.IsNotNullOrWhiteSpace())
            {
                parameters["tag"] = tag;
            }
            if (type.IsNotNullOrWhiteSpace())
            {
                parameters["type"] = type;
            }

            var headers = new Dictionary <string, string>(1);

            if (betaIps.IsNotNullOrWhiteSpace())
            {
                headers["betaIps"] = betaIps;
            }

            HttpResponseMessage result = null;

            try
            {
                var timeOut = _options.DefaultTimeOut > 0 ? _options.DefaultTimeOut : POST_TIMEOUT;
                result = await HttpPost(url, headers, parameters, "", timeOut);
            }
            catch (Exception ex)
            {
                _logger?.LogWarning(
                    ex,
                    "[{0}] [publish-single] exception, dataId={1}, group={2}, tenant={3}",
                    _agent.GetName(), dataId, group, tenant);

                return(false);
            }

            if (result.StatusCode == System.Net.HttpStatusCode.OK)
            {
                _logger?.LogInformation(
                    "[{0}] [publish-single] ok, dataId={1}, group={2}, tenant={3}, config={4}",
                    _agent.GetName(), dataId, group, tenant, ContentUtils.TruncateContent(content));

                return(true);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.Forbidden)
            {
                _logger?.LogWarning(
                    "[{0}] [publish-single] error, dataId={1}, group={2}, tenant={3}, code={4}, msg={5}",
                    _agent.GetName(), dataId, group, tenant, (int)result.StatusCode, result.StatusCode.ToString());
                throw new NacosException((int)result.StatusCode, result.StatusCode.ToString());
            }
            else
            {
                _logger?.LogWarning(
                    "[{0}] [publish-single] error, dataId={1}, group={2}, tenant={3}, code={4}, msg={5}",
                    _agent.GetName(), dataId, group, tenant, (int)result.StatusCode, result.StatusCode.ToString());
                return(false);
            }
        }