From f946512f64f1e2e9aa887f62f04f8ebedb53d810 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 22 五月 2024 15:20:21 +0800
Subject: [PATCH] 优化重传, 修改为每次读取一条记录

---
 config/config.go |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/config/config.go b/config/config.go
index 6802574..922d680 100644
--- a/config/config.go
+++ b/config/config.go
@@ -13,21 +13,25 @@
 	Mode     string `mapstructure:"mode"`
 	Host     string `mapstructure:"host"`
 	Port     string `mapstructure:"port"`
+	Realm    string `mapstructure:"realm"`
+	Username string `mapstructure:"username"`
 	Password string `mapstructure:"password"`
+	Role     string `mapstructure:"role"` // agent 璁惧绔�, proxy 1400涓浆 涓嶅鐞哾eivce, server 鍏ㄥ姛鑳�
 }
 
 type client struct {
-	DeviceID          string `mapstructure:"device-id"`
-	Username          string `mapstructure:"username"`
-	Password          string `mapstructure:"password"`
-	ServerAddr        string `mapstructure:"server-addr"`
-	ServerPort        string `mapstructure:"server-port"`
-	Proto             string `mapstructure:"proto" `             // http, https
-	UploadType        string `mapstructure:"upload-type"`        // binary, url
-	ChannelNo         string `mapstructure:"channel-number"`     // 閫氶亾鍙�, 鍚宨d
-	HeartbeatInterval int    `mapstructure:"heartbeat-interval"` // 蹇冭烦鍛ㄦ湡
-	HeartbeatCount    int    `mapstructure:"heartbeat-count"`    // 蹇冭烦瓒呮椂娆℃暟
-	Enable            bool   `mapstructure:"enable"`
+	ServerId           string `mapstructure:"server-id"`
+	DeviceID           string `mapstructure:"device-id"`
+	Username           string `mapstructure:"username"`
+	Password           string `mapstructure:"password"`
+	ServerAddr         string `mapstructure:"server-addr"`
+	ServerPort         string `mapstructure:"server-port"`
+	Proto              string `mapstructure:"proto" `             // http, https
+	UploadType         string `mapstructure:"upload-type"`        // binary, url
+	ChannelNo          string `mapstructure:"channel-number"`     // 閫氶亾鍙�, 鍚宨d
+	HeartbeatInterval  int    `mapstructure:"heartbeat-interval"` // 蹇冭烦鍛ㄦ湡
+	HeartbeatFailCount int    `mapstructure:"heartbeat-count"`    // 蹇冭烦瓒呮椂娆℃暟
+	Enable             bool   `mapstructure:"enable"`
 }
 
 type logConfig struct {
@@ -46,6 +50,13 @@
 	Enable         bool   `mapstructure:"enable"`
 }
 
+// 姊帶璁惧
+type nvcs struct {
+	Model string `mapstructure:"model"` // 鍨嬪彿
+	Port  string `mapstructure:"port"`  // 绔彛
+	OSD   string `mapstructure:"osd"`
+}
+
 type rateLimitConfig struct {
 	FillInterval int64 `mapstructure:"fill-interval" json:"fillInterval"`
 	Capacity     int64 `mapstructure:"capacity" json:"capacity"`
@@ -56,6 +67,7 @@
 var ForwardConf = &forward{}
 var RateLimitConf = &rateLimitConfig{}
 var ClientConf = &client{}
+var NVCSConf = &nvcs{}
 
 // Init is an exported method that takes the environment starts the viper
 // (external lib) and returns the configuration struct.
@@ -84,6 +96,7 @@
 	v.UnmarshalKey("forward", ForwardConf)
 	v.UnmarshalKey("rate-limit", RateLimitConf)
 	v.UnmarshalKey("client", ClientConf)
+	v.UnmarshalKey("nvcs", NVCSConf)
 
 	if LogConf.Level == "" {
 		LogConf.Level = "info"
@@ -97,5 +110,13 @@
 		ForwardConf.RetryInterval = 5
 	}
 
+	if ClientConf.HeartbeatInterval == 0 {
+		ClientConf.HeartbeatInterval = 30
+	}
+
+	if ClientConf.Proto == "" {
+		ClientConf.Proto = "http"
+	}
+
 	logger.SetLogLevel(LogConf.Level)
 }

--
Gitblit v1.8.0