去除u8区的高区操作功能
This commit is contained in:
61
cmd/saastool/convert_cfg.go
Normal file
61
cmd/saastool/convert_cfg.go
Normal file
@@ -0,0 +1,61 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.algo.com.cn/public/saasapi"
|
||||
)
|
||||
|
||||
// MapConfig 配置
|
||||
type MapConfig struct {
|
||||
Targets map[string]*Target `json:"targets"`
|
||||
}
|
||||
|
||||
// Target 配置
|
||||
type Target struct {
|
||||
WriteByte *byte `json:"write_byte"` // byte值
|
||||
WriteBytePos uint32 `json:"write_byte_pos"` // byte写入位置
|
||||
WriteUint32 *uint32 `json:"write_uint32"` // uint32值
|
||||
WriteUint32Pos uint32 `json:"write_uint32_pos"` // uint32写入位置
|
||||
WriteFlag *bool `json:"write_flag"` // 标志位
|
||||
WriteExpire *uint32 `json:"write_expire"` // 过期时间
|
||||
WriteFlagWithExpirePos uint32 `json:"write_flag_with_expire_pos"` // 标志与过期写入位置
|
||||
|
||||
}
|
||||
|
||||
// LoadConfigFile 加载配置文件
|
||||
func LoadMapFile(filename string) (*MapConfig, error) {
|
||||
// 打开文件
|
||||
f, err := os.Open(filename)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
sc := &MapConfig{}
|
||||
|
||||
err = json.NewDecoder(f).Decode(sc)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for targetName, targetInfo := range sc.Targets {
|
||||
if targetInfo.WriteBytePos >= uint32(saasapi.MAX_U8) {
|
||||
err = fmt.Errorf("%v WriteBytePos>MAX_U8 , current %v, MAX %v", targetName, targetInfo.WriteBytePos, uint32(saasapi.MAX_U8)-1)
|
||||
break
|
||||
}
|
||||
if targetInfo.WriteUint32Pos >= uint32(saasapi.MAX_U32) {
|
||||
err = fmt.Errorf("%v WriteUint32Pos>MAX_U32 , current %v, MAX %v", targetName, targetInfo.WriteUint32Pos, uint32(saasapi.MAX_U32)-1)
|
||||
break
|
||||
}
|
||||
if targetInfo.WriteFlagWithExpirePos >= uint32(saasapi.MAX_FLAG) {
|
||||
err = fmt.Errorf("%v WriteFlagWithExpirePos>MAX_FLAG , current %v, MAX %v", targetName, targetInfo.WriteFlagWithExpirePos, uint32(saasapi.MAX_FLAG)-1)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return sc, err
|
||||
}
|
||||
Reference in New Issue
Block a user