diff --git a/consts/consts.go b/consts/consts.go deleted file mode 100644 index dd9f224..0000000 --- a/consts/consts.go +++ /dev/null @@ -1,26 +0,0 @@ -package consts - -const ( - IPFSStateOK = "OK" - - StorageDirectoryStateOK = "OK" - - NodeStateNormal = "Normal" - NodeStateUnavailable = "Unavailable" -) - -const ( - ObjectStateNormal = "Normal" - ObjectStateDeleted = "Deleted" -) - -const ( - StorageObjectStateNormal = "Normal" - StorageObjectStateDeleted = "Deleted" - StorageObjectStateOutdated = "Outdated" -) - -const ( - CacheStatePinned = "Pinned" - CacheStateTemp = "Temp" -) diff --git a/go.mod b/go.mod index bdedf25..c8621aa 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,9 @@ module gitlink.org.cn/cloudream/common -go 1.18 +go 1.20 require ( github.com/antonfisher/nested-logrus-formatter v1.3.1 - github.com/beevik/etree v1.2.0 - github.com/go-ping/ping v1.1.0 github.com/google/uuid v1.3.0 github.com/hashicorp/go-multierror v1.1.1 github.com/imdario/mergo v0.3.15 @@ -63,7 +61,6 @@ require ( go.uber.org/zap v1.24.0 // indirect golang.org/x/crypto v0.6.0 // indirect golang.org/x/net v0.8.0 // indirect - golang.org/x/sync v0.1.0 // indirect golang.org/x/sys v0.6.0 // indirect golang.org/x/text v0.8.0 // indirect google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd // indirect diff --git a/go.sum b/go.sum index 5087ee3..81f0644 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,5 @@ github.com/antonfisher/nested-logrus-formatter v1.3.1 h1:NFJIr+pzwv5QLHTPyKz9UMEoHck02Q9L0FP13b/xSbQ= github.com/antonfisher/nested-logrus-formatter v1.3.1/go.mod h1:6WTfyWFkBc9+zyBaKIqRrg/KwMqBbodBjgbHjDz7zjA= -github.com/beevik/etree v1.2.0 h1:l7WETslUG/T+xOPs47dtd6jov2Ii/8/OjCldk5fYfQw= -github.com/beevik/etree v1.2.0/go.mod h1:aiPf89g/1k3AShMVAzriilpcE4R/Vuor90y83zVZWFc= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= @@ -17,8 +15,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= -github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= -github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= @@ -28,7 +24,6 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= @@ -147,25 +142,18 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= diff --git a/magefiles/common.go b/magefiles/common.go index 03d76aa..b216d20 100644 --- a/magefiles/common.go +++ b/magefiles/common.go @@ -12,8 +12,9 @@ import ( ) var Global = struct { - OS string - Arch string + OS string + Arch string + BuildRoot string }{ Arch: "amd64", } @@ -30,7 +31,12 @@ type goBuildArgs struct { } func Build(args BuildArgs) error { - fullOutputDir, err := filepath.Abs(args.OutputDir) + buildRoot := Global.BuildRoot + if buildRoot == "" { + buildRoot = "build" + } + + fullOutputDir, err := filepath.Abs(filepath.Join(buildRoot, args.OutputDir)) if err != nil { return err } diff --git a/magefiles/targets/targets.go b/magefiles/targets/targets.go index 1804ca1..a941e93 100644 --- a/magefiles/targets/targets.go +++ b/magefiles/targets/targets.go @@ -18,3 +18,8 @@ func Linux() { func AMD64() { magefiles.Global.Arch = "amd64" } + +// [配置项]设置编译的根目录 +func BuildRoot(dir string) { + magefiles.Global.BuildRoot = dir +} diff --git a/models/models.go b/models/models.go index f2ee3f0..34145db 100644 --- a/models/models.go +++ b/models/models.go @@ -24,40 +24,3 @@ func NewRepRedundancyConfig(repCount int) RepRedundancyConfig { type ECRedundancyConfig struct { } - -// 冗余模式的具体配置 -type RedundancyDataTypes interface{} -type RedundancyDataTypesConst interface { - RepRedundancyData | ECRedundancyData -} -type RepRedundancyData struct { - FileHash string `json:"fileHash"` -} - -func NewRedundancyRepData(fileHash string) RepRedundancyData { - return RepRedundancyData{ - FileHash: fileHash, - } -} - -type ECRedundancyData struct { - Blocks []ObjectBlock `json:"blocks"` -} - -func NewECRedundancyData(blocks []ObjectBlock) ECRedundancyData { - return ECRedundancyData{ - Blocks: blocks, - } -} - -type ObjectBlock struct { - Index int `json:"index"` - FileHash string `json:"fileHash"` -} - -func NewObjectBlock(index int, fileHash string) ObjectBlock { - return ObjectBlock{ - Index: index, - FileHash: fileHash, - } -} diff --git a/pkg/actor/actor.go b/pkgs/actor/actor.go similarity index 98% rename from pkg/actor/actor.go rename to pkgs/actor/actor.go index dde1c49..376095c 100644 --- a/pkg/actor/actor.go +++ b/pkgs/actor/actor.go @@ -6,7 +6,7 @@ import ( "github.com/zyedidia/generic/list" - "gitlink.org.cn/cloudream/common/pkg/future" + "gitlink.org.cn/cloudream/common/pkgs/future" mysync "gitlink.org.cn/cloudream/common/utils/sync" ) diff --git a/pkg/actor/actor_test.go b/pkgs/actor/actor_test.go similarity index 100% rename from pkg/actor/actor_test.go rename to pkgs/actor/actor_test.go diff --git a/pkg/cmdtrie/command_trie.go b/pkgs/cmdtrie/command_trie.go similarity index 99% rename from pkg/cmdtrie/command_trie.go rename to pkgs/cmdtrie/command_trie.go index f2f5e5c..e2d3c05 100644 --- a/pkg/cmdtrie/command_trie.go +++ b/pkgs/cmdtrie/command_trie.go @@ -6,7 +6,7 @@ import ( "strconv" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/trie" + "gitlink.org.cn/cloudream/common/pkgs/trie" myreflect "gitlink.org.cn/cloudream/common/utils/reflect" ) diff --git a/pkg/cmdtrie/command_trie_test.go b/pkgs/cmdtrie/command_trie_test.go similarity index 100% rename from pkg/cmdtrie/command_trie_test.go rename to pkgs/cmdtrie/command_trie_test.go diff --git a/pkg/distlock/config.go b/pkgs/distlock/config.go similarity index 100% rename from pkg/distlock/config.go rename to pkgs/distlock/config.go diff --git a/pkg/distlock/const.go b/pkgs/distlock/const.go similarity index 100% rename from pkg/distlock/const.go rename to pkgs/distlock/const.go diff --git a/pkg/distlock/distlock.go b/pkgs/distlock/distlock.go similarity index 100% rename from pkg/distlock/distlock.go rename to pkgs/distlock/distlock.go diff --git a/pkg/distlock/lockprovider/ipfs_lock.go b/pkgs/distlock/lockprovider/ipfs_lock.go similarity index 99% rename from pkg/distlock/lockprovider/ipfs_lock.go rename to pkgs/distlock/lockprovider/ipfs_lock.go index 1288409..8a15e66 100644 --- a/pkg/distlock/lockprovider/ipfs_lock.go +++ b/pkgs/distlock/lockprovider/ipfs_lock.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" mylo "gitlink.org.cn/cloudream/common/utils/lo" ) diff --git a/pkg/distlock/lockprovider/ipfs_lock_test.go b/pkgs/distlock/lockprovider/ipfs_lock_test.go similarity index 97% rename from pkg/distlock/lockprovider/ipfs_lock_test.go rename to pkgs/distlock/lockprovider/ipfs_lock_test.go index 4c71254..d6ebc43 100644 --- a/pkg/distlock/lockprovider/ipfs_lock_test.go +++ b/pkgs/distlock/lockprovider/ipfs_lock_test.go @@ -4,7 +4,7 @@ import ( "testing" . "github.com/smartystreets/goconvey/convey" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" ) func Test_IPFSLock(t *testing.T) { diff --git a/pkg/distlock/lockprovider/lock_compatibility_table.go b/pkgs/distlock/lockprovider/lock_compatibility_table.go similarity index 98% rename from pkg/distlock/lockprovider/lock_compatibility_table.go rename to pkgs/distlock/lockprovider/lock_compatibility_table.go index 0d125c0..951e708 100644 --- a/pkg/distlock/lockprovider/lock_compatibility_table.go +++ b/pkgs/distlock/lockprovider/lock_compatibility_table.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" ) const ( diff --git a/pkg/distlock/lockprovider/lock_compatibility_table_test.go b/pkgs/distlock/lockprovider/lock_compatibility_table_test.go similarity index 94% rename from pkg/distlock/lockprovider/lock_compatibility_table_test.go rename to pkgs/distlock/lockprovider/lock_compatibility_table_test.go index d28cdf3..052be72 100644 --- a/pkg/distlock/lockprovider/lock_compatibility_table_test.go +++ b/pkgs/distlock/lockprovider/lock_compatibility_table_test.go @@ -4,7 +4,7 @@ import ( "testing" . "github.com/smartystreets/goconvey/convey" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" ) func Test_LockCompatibilityTable(t *testing.T) { diff --git a/pkg/distlock/lockprovider/metadata_lock.go b/pkgs/distlock/lockprovider/metadata_lock.go similarity index 99% rename from pkg/distlock/lockprovider/metadata_lock.go rename to pkgs/distlock/lockprovider/metadata_lock.go index 378eff0..ecb1e63 100644 --- a/pkg/distlock/lockprovider/metadata_lock.go +++ b/pkgs/distlock/lockprovider/metadata_lock.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" mylo "gitlink.org.cn/cloudream/common/utils/lo" ) diff --git a/pkg/distlock/lockprovider/storage_lock.go b/pkgs/distlock/lockprovider/storage_lock.go similarity index 99% rename from pkg/distlock/lockprovider/storage_lock.go rename to pkgs/distlock/lockprovider/storage_lock.go index cf84616..9990066 100644 --- a/pkg/distlock/lockprovider/storage_lock.go +++ b/pkgs/distlock/lockprovider/storage_lock.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" mylo "gitlink.org.cn/cloudream/common/utils/lo" ) diff --git a/pkg/distlock/lockprovider/string_lock_target.go b/pkgs/distlock/lockprovider/string_lock_target.go similarity index 100% rename from pkg/distlock/lockprovider/string_lock_target.go rename to pkgs/distlock/lockprovider/string_lock_target.go diff --git a/pkg/distlock/lockprovider/string_lock_target_test.go b/pkgs/distlock/lockprovider/string_lock_target_test.go similarity index 100% rename from pkg/distlock/lockprovider/string_lock_target_test.go rename to pkgs/distlock/lockprovider/string_lock_target_test.go diff --git a/pkg/distlock/reqbuilder/ipfs.go b/pkgs/distlock/reqbuilder/ipfs.go similarity index 93% rename from pkg/distlock/reqbuilder/ipfs.go rename to pkgs/distlock/reqbuilder/ipfs.go index 0fe8c3a..c6b6218 100644 --- a/pkg/distlock/reqbuilder/ipfs.go +++ b/pkgs/distlock/reqbuilder/ipfs.go @@ -3,8 +3,8 @@ package reqbuilder import ( "strconv" - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type IPFSLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/lock_request_builder.go b/pkgs/distlock/reqbuilder/lock_request_builder.go similarity index 83% rename from pkg/distlock/reqbuilder/lock_request_builder.go rename to pkgs/distlock/reqbuilder/lock_request_builder.go index a704b7c..a6af4ed 100644 --- a/pkg/distlock/reqbuilder/lock_request_builder.go +++ b/pkgs/distlock/reqbuilder/lock_request_builder.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/service" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/service" mylo "gitlink.org.cn/cloudream/common/utils/lo" ) diff --git a/pkg/distlock/reqbuilder/metadata.go b/pkgs/distlock/reqbuilder/metadata.go similarity index 86% rename from pkg/distlock/reqbuilder/metadata.go rename to pkgs/distlock/reqbuilder/metadata.go index 1403331..ec57dde 100644 --- a/pkg/distlock/reqbuilder/metadata.go +++ b/pkgs/distlock/reqbuilder/metadata.go @@ -1,6 +1,6 @@ package reqbuilder -import "gitlink.org.cn/cloudream/common/pkg/distlock" +import "gitlink.org.cn/cloudream/common/pkgs/distlock" type MetadataLockReqBuilder struct { *LockRequestBuilder diff --git a/pkg/distlock/reqbuilder/metadata_bucket.go b/pkgs/distlock/reqbuilder/metadata_bucket.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_bucket.go rename to pkgs/distlock/reqbuilder/metadata_bucket.go index a6d650c..b3c79ca 100644 --- a/pkg/distlock/reqbuilder/metadata_bucket.go +++ b/pkgs/distlock/reqbuilder/metadata_bucket.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataBucketLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_cache.go b/pkgs/distlock/reqbuilder/metadata_cache.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_cache.go rename to pkgs/distlock/reqbuilder/metadata_cache.go index b2fe2e6..3651705 100644 --- a/pkg/distlock/reqbuilder/metadata_cache.go +++ b/pkgs/distlock/reqbuilder/metadata_cache.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataCacheLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_node.go b/pkgs/distlock/reqbuilder/metadata_node.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_node.go rename to pkgs/distlock/reqbuilder/metadata_node.go index 6c55317..e999cae 100644 --- a/pkg/distlock/reqbuilder/metadata_node.go +++ b/pkgs/distlock/reqbuilder/metadata_node.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataNodeLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_object.go b/pkgs/distlock/reqbuilder/metadata_object.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_object.go rename to pkgs/distlock/reqbuilder/metadata_object.go index b89d6b5..6526365 100644 --- a/pkg/distlock/reqbuilder/metadata_object.go +++ b/pkgs/distlock/reqbuilder/metadata_object.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataObjectLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_object_block.go b/pkgs/distlock/reqbuilder/metadata_object_block.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_object_block.go rename to pkgs/distlock/reqbuilder/metadata_object_block.go index e7c9c6e..a83c133 100644 --- a/pkg/distlock/reqbuilder/metadata_object_block.go +++ b/pkgs/distlock/reqbuilder/metadata_object_block.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataObjectBlockLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_object_rep.go b/pkgs/distlock/reqbuilder/metadata_object_rep.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_object_rep.go rename to pkgs/distlock/reqbuilder/metadata_object_rep.go index 97555d8..47da9ea 100644 --- a/pkg/distlock/reqbuilder/metadata_object_rep.go +++ b/pkgs/distlock/reqbuilder/metadata_object_rep.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataObjectRepLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_storage_object.go b/pkgs/distlock/reqbuilder/metadata_storage_object.go similarity index 95% rename from pkg/distlock/reqbuilder/metadata_storage_object.go rename to pkgs/distlock/reqbuilder/metadata_storage_object.go index 52271f2..10f8ac5 100644 --- a/pkg/distlock/reqbuilder/metadata_storage_object.go +++ b/pkgs/distlock/reqbuilder/metadata_storage_object.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataStorageObjectLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_user_bucket.go b/pkgs/distlock/reqbuilder/metadata_user_bucket.go similarity index 94% rename from pkg/distlock/reqbuilder/metadata_user_bucket.go rename to pkgs/distlock/reqbuilder/metadata_user_bucket.go index a9166fb..15fdd4e 100644 --- a/pkg/distlock/reqbuilder/metadata_user_bucket.go +++ b/pkgs/distlock/reqbuilder/metadata_user_bucket.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataUserBucketLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/metadata_user_storage.go b/pkgs/distlock/reqbuilder/metadata_user_storage.go similarity index 95% rename from pkg/distlock/reqbuilder/metadata_user_storage.go rename to pkgs/distlock/reqbuilder/metadata_user_storage.go index 8e4fce8..92bb2aa 100644 --- a/pkg/distlock/reqbuilder/metadata_user_storage.go +++ b/pkgs/distlock/reqbuilder/metadata_user_storage.go @@ -1,8 +1,8 @@ package reqbuilder import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type MetadataUserStorageLockReqBuilder struct { diff --git a/pkg/distlock/reqbuilder/storage.go b/pkgs/distlock/reqbuilder/storage.go similarity index 95% rename from pkg/distlock/reqbuilder/storage.go rename to pkgs/distlock/reqbuilder/storage.go index 3e60e1c..09f7ead 100644 --- a/pkg/distlock/reqbuilder/storage.go +++ b/pkgs/distlock/reqbuilder/storage.go @@ -3,8 +3,8 @@ package reqbuilder import ( "strconv" - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" ) type StorageLockReqBuilder struct { diff --git a/pkg/distlock/service/init_providers.go b/pkgs/distlock/service/init_providers.go similarity index 89% rename from pkg/distlock/service/init_providers.go rename to pkgs/distlock/service/init_providers.go index c1168ce..48327b9 100644 --- a/pkg/distlock/service/init_providers.go +++ b/pkgs/distlock/service/init_providers.go @@ -1,10 +1,10 @@ package service import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/lockprovider" - "gitlink.org.cn/cloudream/common/pkg/distlock/service/internal" - "gitlink.org.cn/cloudream/common/pkg/trie" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/lockprovider" + "gitlink.org.cn/cloudream/common/pkgs/distlock/service/internal" + "gitlink.org.cn/cloudream/common/pkgs/trie" ) func initProviders(providers *internal.ProvidersActor) { diff --git a/pkg/distlock/service/internal/lease_actor.go b/pkgs/distlock/service/internal/lease_actor.go similarity index 96% rename from pkg/distlock/service/internal/lease_actor.go rename to pkgs/distlock/service/internal/lease_actor.go index 9c23430..41b86d9 100644 --- a/pkg/distlock/service/internal/lease_actor.go +++ b/pkgs/distlock/service/internal/lease_actor.go @@ -4,8 +4,8 @@ import ( "fmt" "time" - "gitlink.org.cn/cloudream/common/pkg/actor" - "gitlink.org.cn/cloudream/common/pkg/logger" + "gitlink.org.cn/cloudream/common/pkgs/actor" + "gitlink.org.cn/cloudream/common/pkgs/logger" ) type lockRequestLease struct { diff --git a/pkg/distlock/service/internal/main_actor.go b/pkgs/distlock/service/internal/main_actor.go similarity index 98% rename from pkg/distlock/service/internal/main_actor.go rename to pkgs/distlock/service/internal/main_actor.go index a15eecf..39bd3cb 100644 --- a/pkg/distlock/service/internal/main_actor.go +++ b/pkgs/distlock/service/internal/main_actor.go @@ -6,8 +6,8 @@ import ( "strconv" "time" - "gitlink.org.cn/cloudream/common/pkg/actor" - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/actor" + "gitlink.org.cn/cloudream/common/pkgs/distlock" "gitlink.org.cn/cloudream/common/utils/serder" clientv3 "go.etcd.io/etcd/client/v3" "go.etcd.io/etcd/client/v3/concurrency" diff --git a/pkg/distlock/service/internal/providers_actor.go b/pkgs/distlock/service/internal/providers_actor.go similarity index 96% rename from pkg/distlock/service/internal/providers_actor.go rename to pkgs/distlock/service/internal/providers_actor.go index f7d68b8..8df28b2 100644 --- a/pkg/distlock/service/internal/providers_actor.go +++ b/pkgs/distlock/service/internal/providers_actor.go @@ -4,10 +4,10 @@ import ( "fmt" "time" - "gitlink.org.cn/cloudream/common/pkg/actor" - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/future" - "gitlink.org.cn/cloudream/common/pkg/trie" + "gitlink.org.cn/cloudream/common/pkgs/actor" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/future" + "gitlink.org.cn/cloudream/common/pkgs/trie" ) type indexWaiter struct { diff --git a/pkg/distlock/service/internal/retry_actor.go b/pkgs/distlock/service/internal/retry_actor.go similarity index 92% rename from pkg/distlock/service/internal/retry_actor.go rename to pkgs/distlock/service/internal/retry_actor.go index d6e13ff..0312996 100644 --- a/pkg/distlock/service/internal/retry_actor.go +++ b/pkgs/distlock/service/internal/retry_actor.go @@ -5,10 +5,10 @@ import ( "time" "github.com/samber/lo" - "gitlink.org.cn/cloudream/common/pkg/actor" - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/future" - "gitlink.org.cn/cloudream/common/pkg/logger" + "gitlink.org.cn/cloudream/common/pkgs/actor" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/future" + "gitlink.org.cn/cloudream/common/pkgs/logger" mylo "gitlink.org.cn/cloudream/common/utils/lo" ) diff --git a/pkg/distlock/service/internal/utils.go b/pkgs/distlock/service/internal/utils.go similarity index 100% rename from pkg/distlock/service/internal/utils.go rename to pkgs/distlock/service/internal/utils.go diff --git a/pkg/distlock/service/internal/utils_test.go b/pkgs/distlock/service/internal/utils_test.go similarity index 100% rename from pkg/distlock/service/internal/utils_test.go rename to pkgs/distlock/service/internal/utils_test.go diff --git a/pkg/distlock/service/internal/watch_etcd_actor.go b/pkgs/distlock/service/internal/watch_etcd_actor.go similarity index 98% rename from pkg/distlock/service/internal/watch_etcd_actor.go rename to pkgs/distlock/service/internal/watch_etcd_actor.go index e970a33..efb1a25 100644 --- a/pkg/distlock/service/internal/watch_etcd_actor.go +++ b/pkgs/distlock/service/internal/watch_etcd_actor.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "gitlink.org.cn/cloudream/common/pkg/actor" + "gitlink.org.cn/cloudream/common/pkgs/actor" mylo "gitlink.org.cn/cloudream/common/utils/lo" "gitlink.org.cn/cloudream/common/utils/serder" clientv3 "go.etcd.io/etcd/client/v3" diff --git a/pkg/distlock/service/mutex.go b/pkgs/distlock/service/mutex.go similarity index 90% rename from pkg/distlock/service/mutex.go rename to pkgs/distlock/service/mutex.go index 9a929ed..c3bc0da 100644 --- a/pkg/distlock/service/mutex.go +++ b/pkgs/distlock/service/mutex.go @@ -1,7 +1,7 @@ package service import ( - "gitlink.org.cn/cloudream/common/pkg/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock" ) type Mutex struct { diff --git a/pkg/distlock/service/service.go b/pkgs/distlock/service/service.go similarity index 96% rename from pkg/distlock/service/service.go rename to pkgs/distlock/service/service.go index 44b4459..d5a0f15 100644 --- a/pkg/distlock/service/service.go +++ b/pkgs/distlock/service/service.go @@ -4,9 +4,9 @@ import ( "fmt" "time" - "gitlink.org.cn/cloudream/common/pkg/distlock" - "gitlink.org.cn/cloudream/common/pkg/distlock/service/internal" - "gitlink.org.cn/cloudream/common/pkg/logger" + "gitlink.org.cn/cloudream/common/pkgs/distlock" + "gitlink.org.cn/cloudream/common/pkgs/distlock/service/internal" + "gitlink.org.cn/cloudream/common/pkgs/logger" clientv3 "go.etcd.io/etcd/client/v3" ) diff --git a/pkg/event/event.go b/pkgs/event/event.go similarity index 100% rename from pkg/event/event.go rename to pkgs/event/event.go diff --git a/pkg/event/executor.go b/pkgs/event/executor.go similarity index 100% rename from pkg/event/executor.go rename to pkgs/event/executor.go diff --git a/pkg/future/future.go b/pkgs/future/future.go similarity index 100% rename from pkg/future/future.go rename to pkgs/future/future.go diff --git a/pkg/future/future_test.go b/pkgs/future/future_test.go similarity index 100% rename from pkg/future/future_test.go rename to pkgs/future/future_test.go diff --git a/pkg/future/set_value_future.go b/pkgs/future/set_value_future.go similarity index 100% rename from pkg/future/set_value_future.go rename to pkgs/future/set_value_future.go diff --git a/pkg/future/set_void_future.go b/pkgs/future/set_void_future.go similarity index 100% rename from pkg/future/set_void_future.go rename to pkgs/future/set_void_future.go diff --git a/pkg/logger/config.go b/pkgs/logger/config.go similarity index 100% rename from pkg/logger/config.go rename to pkgs/logger/config.go diff --git a/pkg/logger/global_logger.go b/pkgs/logger/global_logger.go similarity index 100% rename from pkg/logger/global_logger.go rename to pkgs/logger/global_logger.go diff --git a/pkg/logger/logger.go b/pkgs/logger/logger.go similarity index 100% rename from pkg/logger/logger.go rename to pkgs/logger/logger.go diff --git a/pkg/logger/logger_test.go b/pkgs/logger/logger_test.go similarity index 100% rename from pkg/logger/logger_test.go rename to pkgs/logger/logger_test.go diff --git a/pkg/logger/logrus_logger.go b/pkgs/logger/logrus_logger.go similarity index 100% rename from pkg/logger/logrus_logger.go rename to pkgs/logger/logrus_logger.go diff --git a/pkg/logger/utils.go b/pkgs/logger/utils.go similarity index 100% rename from pkg/logger/utils.go rename to pkgs/logger/utils.go diff --git a/pkg/mq/client.go b/pkgs/mq/client.go similarity index 98% rename from pkg/mq/client.go rename to pkgs/mq/client.go index b2530f2..c25e30c 100644 --- a/pkg/mq/client.go +++ b/pkgs/mq/client.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/go-multierror" "github.com/streadway/amqp" "gitlink.org.cn/cloudream/common/consts/errorcode" - "gitlink.org.cn/cloudream/common/pkg/future" - "gitlink.org.cn/cloudream/common/pkg/logger" + "gitlink.org.cn/cloudream/common/pkgs/future" + "gitlink.org.cn/cloudream/common/pkgs/logger" myreflect "gitlink.org.cn/cloudream/common/utils/reflect" ) diff --git a/pkg/mq/message.go b/pkgs/mq/message.go similarity index 100% rename from pkg/mq/message.go rename to pkgs/mq/message.go diff --git a/pkg/mq/message_dispatcher.go b/pkgs/mq/message_dispatcher.go similarity index 100% rename from pkg/mq/message_dispatcher.go rename to pkgs/mq/message_dispatcher.go diff --git a/pkg/mq/message_test.go b/pkgs/mq/message_test.go similarity index 100% rename from pkg/mq/message_test.go rename to pkgs/mq/message_test.go diff --git a/pkg/mq/response.go b/pkgs/mq/response.go similarity index 100% rename from pkg/mq/response.go rename to pkgs/mq/response.go diff --git a/pkg/mq/server.go b/pkgs/mq/server.go similarity index 100% rename from pkg/mq/server.go rename to pkgs/mq/server.go diff --git a/pkg/task/manager.go b/pkgs/task/manager.go similarity index 100% rename from pkg/task/manager.go rename to pkgs/task/manager.go diff --git a/pkg/task/task.go b/pkgs/task/task.go similarity index 100% rename from pkg/task/task.go rename to pkgs/task/task.go diff --git a/pkg/tickevent/executor.go b/pkgs/tickevent/executor.go similarity index 100% rename from pkg/tickevent/executor.go rename to pkgs/tickevent/executor.go diff --git a/pkg/tickevent/tick_event.go b/pkgs/tickevent/tick_event.go similarity index 100% rename from pkg/tickevent/tick_event.go rename to pkgs/tickevent/tick_event.go diff --git a/pkg/trie/trie.go b/pkgs/trie/trie.go similarity index 100% rename from pkg/trie/trie.go rename to pkgs/trie/trie.go diff --git a/pkg/trie/trie_test.go b/pkgs/trie/trie_test.go similarity index 100% rename from pkg/trie/trie_test.go rename to pkgs/trie/trie_test.go diff --git a/pkg/typedispatcher/type_dispatcher.go b/pkgs/typedispatcher/type_dispatcher.go similarity index 100% rename from pkg/typedispatcher/type_dispatcher.go rename to pkgs/typedispatcher/type_dispatcher.go diff --git a/utils/config.go b/utils/config.go deleted file mode 100644 index d69134e..0000000 --- a/utils/config.go +++ /dev/null @@ -1,74 +0,0 @@ -package utils - -import ( - "fmt" - "regexp" - "strconv" - - "github.com/beevik/etree" -) - -type EcConfig struct { - ecid string `xml:"ecid"` - class string `xml:"class"` - n int `xml:"n"` - k int `xml:"k"` - w int `xml:"w"` - opt int `xml:"opt"` -} - -func (r *EcConfig) GetK() int { - return r.k -} - -func (r *EcConfig) GetN() int { - return r.n -} - -func GetEcPolicy() *map[string]EcConfig { - doc := etree.NewDocument() - if err := doc.ReadFromFile("../conf/sysSetting.xml"); err != nil { - panic(err) - } - ecMap := make(map[string]EcConfig, 20) - root := doc.SelectElement("setting") - for _, attr := range root.SelectElements("attribute") { - if name := attr.SelectElement("name"); name.Text() == "ec.policy" { - for _, eci := range attr.SelectElements("value") { - tt := EcConfig{} - tt.ecid = eci.SelectElement("ecid").Text() - tt.class = eci.SelectElement("class").Text() - tt.n, _ = strconv.Atoi(eci.SelectElement("n").Text()) - tt.k, _ = strconv.Atoi(eci.SelectElement("k").Text()) - tt.w, _ = strconv.Atoi(eci.SelectElement("w").Text()) - tt.opt, _ = strconv.Atoi(eci.SelectElement("opt").Text()) - ecMap[tt.ecid] = tt - } - } - } - fmt.Println(ecMap) - return &ecMap - // -} - -func GetAgentIps() []string { - doc := etree.NewDocument() - if err := doc.ReadFromFile("../conf/sysSetting.xml"); err != nil { - panic(err) - } - root := doc.SelectElement("setting") - var ips []string // 定义存储 IP 的字符串切片 - - for _, attr := range root.SelectElements("attribute") { - if name := attr.SelectElement("name"); name.Text() == "agents.addr" { - for _, ip := range attr.SelectElements("value") { - ipRegex := regexp.MustCompile(`\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b`) - match := ipRegex.FindString(ip.Text()) - print(match) - ips = append(ips, match) - } - } - } - - return ips -} diff --git a/utils/config/config.go b/utils/config/config.go index 48bb8b6..7a9890b 100644 --- a/utils/config/config.go +++ b/utils/config/config.go @@ -28,7 +28,7 @@ func DefaultLoad(modeulName string, defCfg interface{}) error { } // TODO 可以考虑根据环境变量读取不同的配置 - configFilePath := filepath.Join(filepath.Dir(execPath), "..", "conf", fmt.Sprintf("%s.config.json", modeulName)) + configFilePath := filepath.Join(filepath.Dir(execPath), "..", "confs", fmt.Sprintf("%s.config.json", modeulName)) return Load(configFilePath, defCfg) } diff --git a/utils/grpc/file_transport.go b/utils/grpc/file_transport.go deleted file mode 100644 index e43d986..0000000 --- a/utils/grpc/file_transport.go +++ /dev/null @@ -1,123 +0,0 @@ -package grpc - -// TODO 拆分到存储服务的common包里去 -/* -import ( - "context" - "fmt" - "io" - - myio "gitlink.org.cn/cloudream/common/utils/io" - "gitlink.org.cn/cloudream/proto" -) - -type fileReadCloser struct { - io.ReadCloser - stream proto.FileTransport_GetFileClient - cancelFn context.CancelFunc - readData []byte -} - -func (s *fileReadCloser) Read(p []byte) (int, error) { - - if s.readData == nil { - resp, err := s.stream.Recv() - if err != nil { - return 0, err - } - - if resp.Type == proto.FileDataPacketType_Data { - s.readData = resp.Data - - } else if resp.Type == proto.FileDataPacketType_EOF { - return 0, io.EOF - - } else { - return 0, fmt.Errorf("unsuppoted packt type: %v", resp.Type) - } - } - - cnt := copy(p, s.readData) - - if len(s.readData) == cnt { - s.readData = nil - } else { - s.readData = s.readData[cnt:] - } - - return cnt, nil -} - -func (s *fileReadCloser) Close() error { - s.cancelFn() - - return nil -} - -func GetFileAsStream(client proto.FileTransportClient, fileHash string) (io.ReadCloser, error) { - ctx, cancel := context.WithCancel(context.Background()) - - stream, err := client.GetFile(ctx, &proto.GetReq{ - FileHash: fileHash, - }) - if err != nil { - cancel() - return nil, fmt.Errorf("request grpc failed, err: %w", err) - } - - return &fileReadCloser{ - stream: stream, - cancelFn: cancel, - }, nil -} - -type fileWriteCloser struct { - myio.PromiseWriteCloser[string] - stream proto.FileTransport_SendFileClient -} - -func (s *fileWriteCloser) Write(p []byte) (int, error) { - err := s.stream.Send(&proto.FileDataPacket{ - Type: proto.FileDataPacketType_Data, - Data: p, - }) - - if err != nil { - return 0, err - } - - return len(p), nil -} - -func (s *fileWriteCloser) Abort(err error) { - s.stream.CloseSend() -} - -func (s *fileWriteCloser) Finish() (string, error) { - err := s.stream.Send(&proto.FileDataPacket{ - Type: proto.FileDataPacketType_EOF, - }) - - if err != nil { - return "", fmt.Errorf("send EOF packet failed, err: %w", err) - } - - resp, err := s.stream.CloseAndRecv() - if err != nil { - return "", fmt.Errorf("receive response failed, err: %w", err) - } - - return resp.FileHash, nil -} - -func SendFileAsStream(client proto.FileTransportClient) (myio.PromiseWriteCloser[string], error) { - stream, err := client.SendFile(context.Background()) - if err != nil { - return nil, err - } - - return &fileWriteCloser{ - stream: stream, - }, nil -} -*/ diff --git a/utils/ping.go b/utils/ping.go deleted file mode 100644 index 85532d3..0000000 --- a/utils/ping.go +++ /dev/null @@ -1,82 +0,0 @@ -package utils - -import ( - //"fmt" - "github.com/go-ping/ping" - //"net" - "io/ioutil" - "net/http" - "strings" - "time" -) - -type ConnStatus struct { - Addr string - IsReachable bool - Delay time.Duration - TTL int -} - -// 获取本地主机 IP 地址 -func getLocalIP() string { - resp, err := http.Get("https://api.ipify.org") - if err != nil { - panic(err) - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - panic(err) - } - - ip := strings.TrimSpace(string(body)) - return ip -} - -func GetConnStatus(remoteIP string) (*ConnStatus, error) { - // 本地主机 IP 地址 - //localIP := getLocalIP() - //print("!@#@#!") - //print(localIP) - conn := ConnStatus{ - Addr: remoteIP, - IsReachable: false, - } - pinger, err := ping.NewPinger(remoteIP) - - if err != nil { - return nil, err - } - pinger.Count = 5 // 设置 ping 次数为 5 - // pinger.Interval = 1 // 设置 ping 时间间隔为 1 秒 - //pinger.Timeout = 2 // 设置 ping 超时时间为 2 秒 - //pinger.SetPrivileged(true) // 设置使用特权模式以获取 TTL 值 - pinger.OnRecv = func(pkt *ping.Packet) { - //fmt.Printf("%d bytes from %s: icmp_seq=%d time=%v ttl=%v (DUP!)\n", - // pkt.Nbytes, pkt.IPAddr, pkt.Seq, pkt.Rtt, pkt.Ttl) - conn.TTL = pkt.Ttl - } - - /*pinger.OnDuplicateRecv = func(pkt *ping.Packet) { - fmt.Printf("%d bytes from %s: icmp_seq=%d time=%v ttl=%v (DUP!)\n", - pkt.Nbytes, pkt.IPAddr, pkt.Seq, pkt.Rtt, pkt.Ttl) - }*/ - - pinger.OnFinish = func(stats *ping.Statistics) { - //fmt.Printf("\n--- %s ping statistics ---\n", stats.Addr) - //fmt.Printf("%d packets transmitted, %d packets received, %v%% packet loss\n", - // stats.PacketsSent, stats.PacketsRecv, stats.PacketLoss) - //fmt.Printf("round-trip min/avg/max/stddev = %v/%v/%v/%v\n", - // stats.MinRtt, stats.AvgRtt, stats.MaxRtt, stats.StdDevRtt) - if stats.PacketLoss == 0.0 { - conn.IsReachable = true - } - conn.Delay = stats.AvgRtt - } - err = pinger.Run() // Blocks until finished. - if err != nil { - return nil, err - } - return &conn, nil -} diff --git a/utils/utils.go b/utils/utils.go deleted file mode 100644 index 1717250..0000000 --- a/utils/utils.go +++ /dev/null @@ -1,21 +0,0 @@ -package utils - -import ( - "fmt" - "strings" -) - -// MakeMoveOperationFileName Move操作时,写入的文件的名称 -func MakeMoveOperationFileName(objectID int64, userID int64) string { - return fmt.Sprintf("%d-%d", objectID, userID) -} - -// GetDirectoryName 根据objectName获取所属的文件夹名 -func GetDirectoryName(objectName string) string { - parts := strings.Split(objectName, "/") - //若为文件,dirName设置为空 - if len(parts) == 1 { - return "" - } - return parts[0] -}