فهرست منبع

修改优化代码

niujiuru 1 ماه پیش
والد
کامیت
c3f676d68f
6فایلهای تغییر یافته به همراه45 افزوده شده و 10 حذف شده
  1. 2 0
      networkd.service/main.go
  2. 0 0
      networkd.service/rpc_handlers.go
  3. 0 10
      servicelib/rpc_utils.go
  4. 41 0
      servicelib/utils.go
  5. 2 0
      timesyncd.service/main.go
  6. 0 0
      timesyncd.service/rpc_handlers.go

+ 2 - 0
networkd.service/main.go

@@ -141,6 +141,8 @@ func main() {
 		},
 	}
 
+	servicelib.WriteVersionFile(baseapp.EXEC_DIR, Version) //-> for 升级
+
 	prg := &program{
 		name: "NetworkManager",
 	}

networkd.service/api_handlers.go → networkd.service/rpc_handlers.go


+ 0 - 10
servicelib/rpc_utils.go

@@ -3,7 +3,6 @@ package servicelib
 import (
 	"context"
 	"encoding/json"
-	"net"
 
 	"hnyfkj.com.cn/rtu/linux/baseapp"
 	"hnyfkj.com.cn/rtu/linux/utils/jsonrpc2"
@@ -56,12 +55,3 @@ func SaveLogConf(ctx context.Context, req *jsonrpc2.Request) *jsonrpc2.Response
 
 	return jsonrpc2.BuildResponse(req, "success", nil)
 }
-
-func IsAddrInUse(network, addr string) bool {
-	ln, err := net.Listen(network, addr)
-	if err != nil {
-		return true
-	}
-	_ = ln.Close()
-	return false
-}

+ 41 - 0
servicelib/utils.go

@@ -0,0 +1,41 @@
+package servicelib
+
+import (
+	"net"
+	"os"
+	"path/filepath"
+	"strings"
+)
+
+func IsAddrInUse(network, addr string) bool {
+	ln, err := net.Listen(network, addr)
+	if err != nil {
+		return true
+	}
+	_ = ln.Close()
+	return false
+}
+
+func WriteVersionFile(dir, version string) error {
+	file := filepath.Join(dir, "version.txt")
+	tmp := file + ".tmp"
+
+	if err := os.MkdirAll(dir, 0755); err != nil {
+		return err
+	}
+
+	if err := os.WriteFile(tmp, []byte(version+"\n"), 0644); err != nil {
+		return err
+	}
+
+	return os.Rename(tmp, file)
+}
+
+func ReadVersionFile(dir string) (string, error) {
+	file := filepath.Join(dir, "version.txt")
+	data, err := os.ReadFile(file)
+	if err != nil {
+		return "", err
+	}
+	return strings.TrimSpace(string(data)), nil
+}

+ 2 - 0
timesyncd.service/main.go

@@ -185,6 +185,8 @@ func main() {
 		},
 	}
 
+	servicelib.WriteVersionFile(baseapp.EXEC_DIR, Version) //-> for 升级
+
 	prg := &program{
 		name: "TimeSync",
 	}

timesyncd.service/api_handlers.go → timesyncd.service/rpc_handlers.go