| @@ -6,11 +6,8 @@ require ( | |||||
| github.com/ipfs/go-ipfs-api v0.6.0 | github.com/ipfs/go-ipfs-api v0.6.0 | ||||
| github.com/samber/lo v1.38.1 | github.com/samber/lo v1.38.1 | ||||
| gitlink.org.cn/cloudream/common v0.0.0 | gitlink.org.cn/cloudream/common v0.0.0 | ||||
| gitlink.org.cn/cloudream/ec v0.0.0 | |||||
| gitlink.org.cn/cloudream/proto v0.0.0 | |||||
| gitlink.org.cn/cloudream/rabbitmq v0.0.0 | |||||
| google.golang.org/grpc v1.54.0 | |||||
| magefiles v0.0.0 | |||||
| gitlink.org.cn/cloudream/storage-common v0.0.0 | |||||
| google.golang.org/grpc v1.57.0 | |||||
| ) | ) | ||||
| require ( | require ( | ||||
| @@ -36,7 +33,6 @@ require ( | |||||
| github.com/libp2p/go-buffer-pool v0.1.0 // indirect | github.com/libp2p/go-buffer-pool v0.1.0 // indirect | ||||
| github.com/libp2p/go-flow-metrics v0.1.0 // indirect | github.com/libp2p/go-flow-metrics v0.1.0 // indirect | ||||
| github.com/libp2p/go-libp2p v0.27.0 // indirect | github.com/libp2p/go-libp2p v0.27.0 // indirect | ||||
| github.com/magefile/mage v1.15.0 // indirect | |||||
| github.com/minio/sha256-simd v1.0.0 // indirect | github.com/minio/sha256-simd v1.0.0 // indirect | ||||
| github.com/mitchellh/go-homedir v1.1.0 // indirect | github.com/mitchellh/go-homedir v1.1.0 // indirect | ||||
| github.com/mitchellh/mapstructure v1.5.0 // indirect | github.com/mitchellh/mapstructure v1.5.0 // indirect | ||||
| @@ -51,13 +47,11 @@ require ( | |||||
| github.com/multiformats/go-multihash v0.2.1 // indirect | github.com/multiformats/go-multihash v0.2.1 // indirect | ||||
| github.com/multiformats/go-multistream v0.4.1 // indirect | github.com/multiformats/go-multistream v0.4.1 // indirect | ||||
| github.com/multiformats/go-varint v0.0.7 // indirect | github.com/multiformats/go-varint v0.0.7 // indirect | ||||
| github.com/otiai10/copy v1.12.0 // indirect | |||||
| github.com/sirupsen/logrus v1.9.2 // indirect | github.com/sirupsen/logrus v1.9.2 // indirect | ||||
| github.com/spaolacci/murmur3 v1.1.0 // indirect | github.com/spaolacci/murmur3 v1.1.0 // indirect | ||||
| github.com/streadway/amqp v1.0.0 // indirect | |||||
| github.com/streadway/amqp v1.1.0 // indirect | |||||
| github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b // indirect | github.com/whyrusleeping/tar-utils v0.0.0-20201201191210-20a61371de5b // indirect | ||||
| github.com/zyedidia/generic v1.2.1 // indirect | github.com/zyedidia/generic v1.2.1 // indirect | ||||
| gitlink.org.cn/cloudream/db v0.0.0 // indirect | |||||
| go.etcd.io/etcd/api/v3 v3.5.9 // indirect | go.etcd.io/etcd/api/v3 v3.5.9 // indirect | ||||
| go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect | go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect | ||||
| go.etcd.io/etcd/client/v3 v3.5.9 // indirect | go.etcd.io/etcd/client/v3 v3.5.9 // indirect | ||||
| @@ -70,22 +64,15 @@ require ( | |||||
| golang.org/x/sync v0.1.0 // indirect | golang.org/x/sync v0.1.0 // indirect | ||||
| golang.org/x/sys v0.7.0 // indirect | golang.org/x/sys v0.7.0 // indirect | ||||
| golang.org/x/text v0.9.0 // indirect | golang.org/x/text v0.9.0 // indirect | ||||
| google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd // indirect | |||||
| google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 // indirect | |||||
| google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect | |||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect | |||||
| google.golang.org/protobuf v1.30.0 // indirect | google.golang.org/protobuf v1.30.0 // indirect | ||||
| lukechampine.com/blake3 v1.1.7 // indirect | lukechampine.com/blake3 v1.1.7 // indirect | ||||
| ) | ) | ||||
| go 1.18 | |||||
| // 运行go mod tidy时需要将下面几行取消注释 | // 运行go mod tidy时需要将下面几行取消注释 | ||||
| // replace gitlink.org.cn/cloudream/ec => ../ec | |||||
| // | |||||
| // replace gitlink.org.cn/cloudream/proto => ../proto | |||||
| // | |||||
| // replace gitlink.org.cn/cloudream/rabbitmq => ../rabbitmq | |||||
| // | |||||
| // replace gitlink.org.cn/cloudream/common => ../common | |||||
| // | |||||
| // replace gitlink.org.cn/cloudream/db => ../db | |||||
| // | |||||
| // replace magefiles => ../magefiles | |||||
| replace gitlink.org.cn/cloudream/common => ../../common | |||||
| replace gitlink.org.cn/cloudream/storage-common => ../storage-common | |||||
| @@ -62,8 +62,6 @@ github.com/libp2p/go-flow-metrics v0.1.0 h1:0iPhMI8PskQwzh57jB9WxIuIOQ0r+15PChFG | |||||
| github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= | github.com/libp2p/go-flow-metrics v0.1.0/go.mod h1:4Xi8MX8wj5aWNDAZttg6UPmc0ZrnFNsMtpsYUClFtro= | ||||
| github.com/libp2p/go-libp2p v0.27.0 h1:QbhrTuB0ln9j9op6yAOR0o+cx/qa9NyNZ5ov0Tql8ZU= | github.com/libp2p/go-libp2p v0.27.0 h1:QbhrTuB0ln9j9op6yAOR0o+cx/qa9NyNZ5ov0Tql8ZU= | ||||
| github.com/libp2p/go-libp2p v0.27.0/go.mod h1:FAvvfQa/YOShUYdiSS03IR9OXzkcJXwcNA2FUCh9ImE= | github.com/libp2p/go-libp2p v0.27.0/go.mod h1:FAvvfQa/YOShUYdiSS03IR9OXzkcJXwcNA2FUCh9ImE= | ||||
| github.com/magefile/mage v1.15.0 h1:BvGheCMAsG3bWUDbZ8AyXXpCNwU9u5CB6sM+HNb9HYg= | |||||
| github.com/magefile/mage v1.15.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= | |||||
| github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= | github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= | ||||
| github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= | github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= | ||||
| github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= | github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= | ||||
| @@ -92,9 +90,6 @@ github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3d | |||||
| github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= | github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q= | ||||
| github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= | github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8= | ||||
| github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= | github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU= | ||||
| github.com/otiai10/copy v1.12.0 h1:cLMgSQnXBs1eehF0Wy/FAGsgDTDmAqFR7rQylBb1nDY= | |||||
| github.com/otiai10/copy v1.12.0/go.mod h1:rSaLseMUsZFFbsFGc7wCJnnkTAvdc5L6VWxPE4308Ww= | |||||
| github.com/otiai10/mint v1.5.1 h1:XaPLeE+9vGbuyEHem1JNk3bYc7KKqyI/na0/mLd/Kks= | |||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| @@ -106,8 +101,8 @@ github.com/smartystreets/assertions v1.13.1 h1:Ef7KhSmjZcK6AVf9YbJdvPYG9avaF0Zxu | |||||
| github.com/smartystreets/goconvey v1.8.0 h1:Oi49ha/2MURE0WexF052Z0m+BNSGirfjg5RL+JXWq3w= | github.com/smartystreets/goconvey v1.8.0 h1:Oi49ha/2MURE0WexF052Z0m+BNSGirfjg5RL+JXWq3w= | ||||
| github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= | github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= | ||||
| github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= | github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= | ||||
| github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= | |||||
| github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= | |||||
| github.com/streadway/amqp v1.1.0 h1:py12iX8XSyI7aN/3dUT8DFIDJazNJsVJdxNVEpnQTZM= | |||||
| github.com/streadway/amqp v1.1.0/go.mod h1:WYSrTEYHOXHd0nwFeUXAe2G2hRnQT+deZJJf88uS9Bg= | |||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= | ||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| @@ -175,10 +170,14 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T | |||||
| golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd h1:sLpv7bNL1AsX3fdnWh9WVh7ejIzXdOc1RRHGeAmeStU= | |||||
| google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= | |||||
| google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= | |||||
| google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= | |||||
| google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54 h1:9NWlQfY2ePejTmfwUH1OWwmznFa+0kKcHGPDvcPza9M= | |||||
| google.golang.org/genproto v0.0.0-20230526161137-0005af68ea54/go.mod h1:zqTuNwFlFRsw5zIts5VnzLQxSRqh+CGOTVMlYbY0Eyk= | |||||
| google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 h1:m8v1xLLLzMe1m5P+gCTF8nJB9epwZQUBERm20Oy1poQ= | |||||
| google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= | |||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 h1:0nDDozoAU19Qb2HwhXadU8OcsiO/09cnTqhUtq2MEOM= | |||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= | |||||
| google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= | |||||
| google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= | |||||
| google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= | google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= | ||||
| google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||||
| google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= | google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= | ||||
| @@ -5,7 +5,7 @@ import ( | |||||
| log "gitlink.org.cn/cloudream/common/pkg/logger" | log "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| c "gitlink.org.cn/cloudream/common/utils/config" | c "gitlink.org.cn/cloudream/common/utils/config" | ||||
| "gitlink.org.cn/cloudream/common/utils/ipfs" | "gitlink.org.cn/cloudream/common/utils/ipfs" | ||||
| racfg "gitlink.org.cn/cloudream/rabbitmq/config" | |||||
| racfg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/config" | |||||
| ) | ) | ||||
| type Config struct { | type Config struct { | ||||
| @@ -2,11 +2,11 @@ package cmd | |||||
| import ( | import ( | ||||
| "gitlink.org.cn/cloudream/common/consts" | "gitlink.org.cn/cloudream/common/consts" | ||||
| ramsg "gitlink.org.cn/cloudream/rabbitmq/message" | |||||
| agtmsg "gitlink.org.cn/cloudream/rabbitmq/message/agent" | |||||
| "gitlink.org.cn/cloudream/common/pkg/mq" | |||||
| agtmsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/agent" | |||||
| ) | ) | ||||
| func (svc *Service) GetState(msg *agtmsg.GetState) (*agtmsg.GetStateResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) GetState(msg *agtmsg.GetState) (*agtmsg.GetStateResp, *mq.CodeMessage) { | |||||
| var ipfsState string | var ipfsState string | ||||
| if svc.ipfs.IsUp() { | if svc.ipfs.IsUp() { | ||||
| @@ -15,5 +15,5 @@ func (svc *Service) GetState(msg *agtmsg.GetState) (*agtmsg.GetStateResp, *ramsg | |||||
| ipfsState = consts.IPFSStateOK | ipfsState = consts.IPFSStateOK | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewGetStateRespBody(ipfsState)) | |||||
| return mq.ReplyOK(agtmsg.NewGetStateRespBody(ipfsState)) | |||||
| } | } | ||||
| @@ -7,17 +7,17 @@ import ( | |||||
| "gitlink.org.cn/cloudream/common/consts" | "gitlink.org.cn/cloudream/common/consts" | ||||
| "gitlink.org.cn/cloudream/common/consts/errorcode" | "gitlink.org.cn/cloudream/common/consts/errorcode" | ||||
| "gitlink.org.cn/cloudream/common/pkg/logger" | "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| ramsg "gitlink.org.cn/cloudream/rabbitmq/message" | |||||
| agtmsg "gitlink.org.cn/cloudream/rabbitmq/message/agent" | |||||
| "gitlink.org.cn/cloudream/common/pkg/mq" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| "gitlink.org.cn/cloudream/storage-agent/internal/task" | "gitlink.org.cn/cloudream/storage-agent/internal/task" | ||||
| agtmsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/agent" | |||||
| ) | ) | ||||
| func (svc *Service) CheckIPFS(msg *agtmsg.CheckIPFS) (*agtmsg.CheckIPFSResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) CheckIPFS(msg *agtmsg.CheckIPFS) (*agtmsg.CheckIPFSResp, *mq.CodeMessage) { | |||||
| filesMap, err := svc.ipfs.GetPinnedFiles() | filesMap, err := svc.ipfs.GetPinnedFiles() | ||||
| if err != nil { | if err != nil { | ||||
| logger.Warnf("get pinned files from ipfs failed, err: %s", err.Error()) | logger.Warnf("get pinned files from ipfs failed, err: %s", err.Error()) | ||||
| return ramsg.ReplyFailed[agtmsg.CheckIPFSResp](errorcode.OperationFailed, "get pinned files from ipfs failed") | |||||
| return mq.ReplyFailed[agtmsg.CheckIPFSResp](errorcode.OperationFailed, "get pinned files from ipfs failed") | |||||
| } | } | ||||
| // TODO 根据锁定清单过滤被锁定的文件的记录 | // TODO 根据锁定清单过滤被锁定的文件的记录 | ||||
| @@ -28,7 +28,7 @@ func (svc *Service) CheckIPFS(msg *agtmsg.CheckIPFS) (*agtmsg.CheckIPFSResp, *ra | |||||
| } | } | ||||
| } | } | ||||
| func (svc *Service) checkIncrement(msg *agtmsg.CheckIPFS, filesMap map[string]shell.PinInfo) (*agtmsg.CheckIPFSResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) checkIncrement(msg *agtmsg.CheckIPFS, filesMap map[string]shell.PinInfo) (*agtmsg.CheckIPFSResp, *mq.CodeMessage) { | |||||
| var entries []agtmsg.CheckIPFSRespEntry | var entries []agtmsg.CheckIPFSRespEntry | ||||
| for _, cache := range msg.Caches { | for _, cache := range msg.Caches { | ||||
| _, ok := filesMap[cache.FileHash] | _, ok := filesMap[cache.FileHash] | ||||
| @@ -60,10 +60,10 @@ func (svc *Service) checkIncrement(msg *agtmsg.CheckIPFS, filesMap map[string]sh | |||||
| // 增量情况下,不需要对filesMap中没检查的记录进行处理 | // 增量情况下,不需要对filesMap中没检查的记录进行处理 | ||||
| return ramsg.ReplyOK(agtmsg.NewCheckIPFSResp(entries)) | |||||
| return mq.ReplyOK(agtmsg.NewCheckIPFSResp(entries)) | |||||
| } | } | ||||
| func (svc *Service) checkComplete(msg *agtmsg.CheckIPFS, filesMap map[string]shell.PinInfo) (*agtmsg.CheckIPFSResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) checkComplete(msg *agtmsg.CheckIPFS, filesMap map[string]shell.PinInfo) (*agtmsg.CheckIPFSResp, *mq.CodeMessage) { | |||||
| var entries []agtmsg.CheckIPFSRespEntry | var entries []agtmsg.CheckIPFSRespEntry | ||||
| for _, cache := range msg.Caches { | for _, cache := range msg.Caches { | ||||
| _, ok := filesMap[cache.FileHash] | _, ok := filesMap[cache.FileHash] | ||||
| @@ -103,5 +103,5 @@ func (svc *Service) checkComplete(msg *agtmsg.CheckIPFS, filesMap map[string]she | |||||
| entries = append(entries, agtmsg.NewCheckIPFSRespEntry(hash, agtmsg.CHECK_IPFS_RESP_OP_CREATE_TEMP)) | entries = append(entries, agtmsg.NewCheckIPFSRespEntry(hash, agtmsg.CHECK_IPFS_RESP_OP_CREATE_TEMP)) | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewCheckIPFSResp(entries)) | |||||
| return mq.ReplyOK(agtmsg.NewCheckIPFSResp(entries)) | |||||
| } | } | ||||
| @@ -5,12 +5,12 @@ import ( | |||||
| "gitlink.org.cn/cloudream/common/consts/errorcode" | "gitlink.org.cn/cloudream/common/consts/errorcode" | ||||
| log "gitlink.org.cn/cloudream/common/pkg/logger" | log "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| ramsg "gitlink.org.cn/cloudream/rabbitmq/message" | |||||
| agtmsg "gitlink.org.cn/cloudream/rabbitmq/message/agent" | |||||
| "gitlink.org.cn/cloudream/common/pkg/mq" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/task" | "gitlink.org.cn/cloudream/storage-agent/internal/task" | ||||
| agtmsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/agent" | |||||
| ) | ) | ||||
| func (svc *Service) StartPinningObject(msg *agtmsg.StartPinningObject) (*agtmsg.StartPinningObjectResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) StartPinningObject(msg *agtmsg.StartPinningObject) (*agtmsg.StartPinningObjectResp, *mq.CodeMessage) { | |||||
| log.WithField("FileHash", msg.FileHash).Debugf("pin object") | log.WithField("FileHash", msg.FileHash).Debugf("pin object") | ||||
| tsk := svc.taskManager.StartComparable(task.NewIPFSPin(msg.FileHash)) | tsk := svc.taskManager.StartComparable(task.NewIPFSPin(msg.FileHash)) | ||||
| @@ -18,18 +18,18 @@ func (svc *Service) StartPinningObject(msg *agtmsg.StartPinningObject) (*agtmsg. | |||||
| if tsk.Error() != nil { | if tsk.Error() != nil { | ||||
| log.WithField("FileHash", msg.FileHash). | log.WithField("FileHash", msg.FileHash). | ||||
| Warnf("pin object failed, err: %s", tsk.Error().Error()) | Warnf("pin object failed, err: %s", tsk.Error().Error()) | ||||
| return ramsg.ReplyFailed[agtmsg.StartPinningObjectResp](errorcode.OperationFailed, "pin object failed") | |||||
| return mq.ReplyFailed[agtmsg.StartPinningObjectResp](errorcode.OperationFailed, "pin object failed") | |||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewStartPinningObjectResp(tsk.ID())) | |||||
| return mq.ReplyOK(agtmsg.NewStartPinningObjectResp(tsk.ID())) | |||||
| } | } | ||||
| func (svc *Service) WaitPinningObject(msg *agtmsg.WaitPinningObject) (*agtmsg.WaitPinningObjectResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) WaitPinningObject(msg *agtmsg.WaitPinningObject) (*agtmsg.WaitPinningObjectResp, *mq.CodeMessage) { | |||||
| log.WithField("TaskID", msg.TaskID).Debugf("wait pinning object") | log.WithField("TaskID", msg.TaskID).Debugf("wait pinning object") | ||||
| tsk := svc.taskManager.FindByID(msg.TaskID) | tsk := svc.taskManager.FindByID(msg.TaskID) | ||||
| if tsk == nil { | if tsk == nil { | ||||
| return ramsg.ReplyFailed[agtmsg.WaitPinningObjectResp](errorcode.TaskNotFound, "task not found") | |||||
| return mq.ReplyFailed[agtmsg.WaitPinningObjectResp](errorcode.TaskNotFound, "task not found") | |||||
| } | } | ||||
| if msg.WaitTimeoutMs == 0 { | if msg.WaitTimeoutMs == 0 { | ||||
| @@ -40,7 +40,7 @@ func (svc *Service) WaitPinningObject(msg *agtmsg.WaitPinningObject) (*agtmsg.Wa | |||||
| errMsg = tsk.Error().Error() | errMsg = tsk.Error().Error() | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitPinningObjectResp(true, errMsg)) | |||||
| return mq.ReplyOK(agtmsg.NewWaitPinningObjectResp(true, errMsg)) | |||||
| } else { | } else { | ||||
| if tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | if tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | ||||
| @@ -50,9 +50,9 @@ func (svc *Service) WaitPinningObject(msg *agtmsg.WaitPinningObject) (*agtmsg.Wa | |||||
| errMsg = tsk.Error().Error() | errMsg = tsk.Error().Error() | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitPinningObjectResp(true, errMsg)) | |||||
| return mq.ReplyOK(agtmsg.NewWaitPinningObjectResp(true, errMsg)) | |||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitPinningObjectResp(false, "")) | |||||
| return mq.ReplyOK(agtmsg.NewWaitPinningObjectResp(false, "")) | |||||
| } | } | ||||
| } | } | ||||
| @@ -10,19 +10,19 @@ import ( | |||||
| "github.com/samber/lo" | "github.com/samber/lo" | ||||
| "gitlink.org.cn/cloudream/common/consts" | "gitlink.org.cn/cloudream/common/consts" | ||||
| "gitlink.org.cn/cloudream/common/models" | |||||
| "gitlink.org.cn/cloudream/common/pkg/logger" | "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| "gitlink.org.cn/cloudream/common/utils" | "gitlink.org.cn/cloudream/common/utils" | ||||
| "gitlink.org.cn/cloudream/ec" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| "gitlink.org.cn/cloudream/storage-agent/internal/task" | "gitlink.org.cn/cloudream/storage-agent/internal/task" | ||||
| "gitlink.org.cn/cloudream/storage-common/models" | |||||
| "gitlink.org.cn/cloudream/storage-common/pkgs/ec" | |||||
| "gitlink.org.cn/cloudream/common/consts/errorcode" | "gitlink.org.cn/cloudream/common/consts/errorcode" | ||||
| ramsg "gitlink.org.cn/cloudream/rabbitmq/message" | |||||
| agtmsg "gitlink.org.cn/cloudream/rabbitmq/message/agent" | |||||
| "gitlink.org.cn/cloudream/common/pkg/mq" | |||||
| agtmsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/agent" | |||||
| ) | ) | ||||
| func (service *Service) StartStorageMoveObject(msg *agtmsg.StartStorageMoveObject) (*agtmsg.StartStorageMoveObjectResp, *ramsg.CodeMessage) { | |||||
| func (service *Service) StartStorageMoveObject(msg *agtmsg.StartStorageMoveObject) (*agtmsg.StartStorageMoveObjectResp, *mq.CodeMessage) { | |||||
| // TODO 修改文件名,可用objectname | // TODO 修改文件名,可用objectname | ||||
| outFileName := utils.MakeMoveOperationFileName(msg.ObjectID, msg.UserID) | outFileName := utils.MakeMoveOperationFileName(msg.ObjectID, msg.UserID) | ||||
| objectDir := filepath.Dir(msg.ObjectName) | objectDir := filepath.Dir(msg.ObjectName) | ||||
| @@ -32,22 +32,22 @@ func (service *Service) StartStorageMoveObject(msg *agtmsg.StartStorageMoveObjec | |||||
| taskID, err := service.moveRepObject(repRed, outFilePath) | taskID, err := service.moveRepObject(repRed, outFilePath) | ||||
| if err != nil { | if err != nil { | ||||
| logger.Warnf("move rep object as %s failed, err: %s", outFilePath, err.Error()) | logger.Warnf("move rep object as %s failed, err: %s", outFilePath, err.Error()) | ||||
| return ramsg.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "move rep object failed") | |||||
| return mq.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "move rep object failed") | |||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewStartStorageMoveObjectResp(taskID)) | |||||
| return mq.ReplyOK(agtmsg.NewStartStorageMoveObjectResp(taskID)) | |||||
| } else if repRed, ok := msg.Redundancy.(models.ECRedundancyData); ok { | } else if repRed, ok := msg.Redundancy.(models.ECRedundancyData); ok { | ||||
| taskID, err := service.moveEcObject(msg.ObjectID, msg.FileSize, repRed, outFilePath) | taskID, err := service.moveEcObject(msg.ObjectID, msg.FileSize, repRed, outFilePath) | ||||
| if err != nil { | if err != nil { | ||||
| logger.Warnf("move ec object as %s failed, err: %s", outFilePath, err.Error()) | logger.Warnf("move ec object as %s failed, err: %s", outFilePath, err.Error()) | ||||
| return ramsg.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "move ec object failed") | |||||
| return mq.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "move ec object failed") | |||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewStartStorageMoveObjectResp(taskID)) | |||||
| return mq.ReplyOK(agtmsg.NewStartStorageMoveObjectResp(taskID)) | |||||
| } | } | ||||
| return ramsg.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "not rep or ec object???") | |||||
| return mq.ReplyFailed[agtmsg.StartStorageMoveObjectResp](errorcode.OperationFailed, "not rep or ec object???") | |||||
| } | } | ||||
| func (svc *Service) moveRepObject(repData models.RepRedundancyData, outFilePath string) (string, error) { | func (svc *Service) moveRepObject(repData models.RepRedundancyData, outFilePath string) (string, error) { | ||||
| @@ -67,12 +67,12 @@ func (svc *Service) moveEcObject(objID int64, fileSize int64, ecData models.ECRe | |||||
| return tsk.ID(), nil | return tsk.ID(), nil | ||||
| } | } | ||||
| func (svc *Service) WaitStorageMoveObject(msg *agtmsg.WaitStorageMoveObject) (*agtmsg.WaitStorageMoveObjectResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) WaitStorageMoveObject(msg *agtmsg.WaitStorageMoveObject) (*agtmsg.WaitStorageMoveObjectResp, *mq.CodeMessage) { | |||||
| logger.WithField("TaskID", msg.TaskID).Debugf("wait moving object") | logger.WithField("TaskID", msg.TaskID).Debugf("wait moving object") | ||||
| tsk := svc.taskManager.FindByID(msg.TaskID) | tsk := svc.taskManager.FindByID(msg.TaskID) | ||||
| if tsk == nil { | if tsk == nil { | ||||
| return ramsg.ReplyFailed[agtmsg.WaitStorageMoveObjectResp](errorcode.TaskNotFound, "task not found") | |||||
| return mq.ReplyFailed[agtmsg.WaitStorageMoveObjectResp](errorcode.TaskNotFound, "task not found") | |||||
| } | } | ||||
| if msg.WaitTimeoutMs == 0 { | if msg.WaitTimeoutMs == 0 { | ||||
| @@ -83,7 +83,7 @@ func (svc *Service) WaitStorageMoveObject(msg *agtmsg.WaitStorageMoveObject) (*a | |||||
| errMsg = tsk.Error().Error() | errMsg = tsk.Error().Error() | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(true, errMsg)) | |||||
| return mq.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(true, errMsg)) | |||||
| } else { | } else { | ||||
| if tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | if tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | ||||
| @@ -93,20 +93,20 @@ func (svc *Service) WaitStorageMoveObject(msg *agtmsg.WaitStorageMoveObject) (*a | |||||
| errMsg = tsk.Error().Error() | errMsg = tsk.Error().Error() | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(true, errMsg)) | |||||
| return mq.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(true, errMsg)) | |||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(false, "")) | |||||
| return mq.ReplyOK(agtmsg.NewWaitStorageMoveObjectResp(false, "")) | |||||
| } | } | ||||
| } | } | ||||
| func (svc *Service) StorageCheck(msg *agtmsg.StorageCheck) (*agtmsg.StorageCheckResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) StorageCheck(msg *agtmsg.StorageCheck) (*agtmsg.StorageCheckResp, *mq.CodeMessage) { | |||||
| dirFullPath := filepath.Join(config.Cfg().StorageBaseDir, msg.Directory) | dirFullPath := filepath.Join(config.Cfg().StorageBaseDir, msg.Directory) | ||||
| infos, err := ioutil.ReadDir(dirFullPath) | infos, err := ioutil.ReadDir(dirFullPath) | ||||
| if err != nil { | if err != nil { | ||||
| logger.Warnf("list storage directory failed, err: %s", err.Error()) | logger.Warnf("list storage directory failed, err: %s", err.Error()) | ||||
| return ramsg.ReplyOK(agtmsg.NewStorageCheckResp( | |||||
| return mq.ReplyOK(agtmsg.NewStorageCheckResp( | |||||
| err.Error(), | err.Error(), | ||||
| nil, | nil, | ||||
| )) | )) | ||||
| @@ -121,7 +121,7 @@ func (svc *Service) StorageCheck(msg *agtmsg.StorageCheck) (*agtmsg.StorageCheck | |||||
| } | } | ||||
| } | } | ||||
| func (svc *Service) checkStorageIncrement(msg *agtmsg.StorageCheck, fileInfos []fs.FileInfo) (*agtmsg.StorageCheckResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) checkStorageIncrement(msg *agtmsg.StorageCheck, fileInfos []fs.FileInfo) (*agtmsg.StorageCheckResp, *mq.CodeMessage) { | |||||
| infosMap := make(map[string]fs.FileInfo) | infosMap := make(map[string]fs.FileInfo) | ||||
| for _, info := range fileInfos { | for _, info := range fileInfos { | ||||
| infosMap[info.Name()] = info | infosMap[info.Name()] = info | ||||
| @@ -145,10 +145,10 @@ func (svc *Service) checkStorageIncrement(msg *agtmsg.StorageCheck, fileInfos [] | |||||
| // 增量情况下,不需要对infosMap中没检查的记录进行处理 | // 增量情况下,不需要对infosMap中没检查的记录进行处理 | ||||
| return ramsg.ReplyOK(agtmsg.NewStorageCheckResp(consts.StorageDirectoryStateOK, entries)) | |||||
| return mq.ReplyOK(agtmsg.NewStorageCheckResp(consts.StorageDirectoryStateOK, entries)) | |||||
| } | } | ||||
| func (svc *Service) checkStorageComplete(msg *agtmsg.StorageCheck, fileInfos []fs.FileInfo) (*agtmsg.StorageCheckResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) checkStorageComplete(msg *agtmsg.StorageCheck, fileInfos []fs.FileInfo) (*agtmsg.StorageCheckResp, *mq.CodeMessage) { | |||||
| infosMap := make(map[string]fs.FileInfo) | infosMap := make(map[string]fs.FileInfo) | ||||
| for _, info := range fileInfos { | for _, info := range fileInfos { | ||||
| @@ -171,7 +171,7 @@ func (svc *Service) checkStorageComplete(msg *agtmsg.StorageCheck, fileInfos []f | |||||
| } | } | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewStorageCheckResp(consts.StorageDirectoryStateOK, entries)) | |||||
| return mq.ReplyOK(agtmsg.NewStorageCheckResp(consts.StorageDirectoryStateOK, entries)) | |||||
| } | } | ||||
| func decode(inBufs []chan []byte, outBufs []chan []byte, blockSeq []int, ecK int, numPacket int64) { | func decode(inBufs []chan []byte, outBufs []chan []byte, blockSeq []int, ecK int, numPacket int64) { | ||||
| @@ -213,20 +213,20 @@ func decode(inBufs []chan []byte, outBufs []chan []byte, blockSeq []int, ecK int | |||||
| } | } | ||||
| } | } | ||||
| func (svc *Service) StartStorageUploadRepObject(msg *agtmsg.StartStorageUploadRepObject) (*agtmsg.StartStorageUploadRepObjectResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) StartStorageUploadRepObject(msg *agtmsg.StartStorageUploadRepObject) (*agtmsg.StartStorageUploadRepObjectResp, *mq.CodeMessage) { | |||||
| fullPath := filepath.Join(config.Cfg().StorageBaseDir, msg.StorageDirectory, msg.FilePath) | fullPath := filepath.Join(config.Cfg().StorageBaseDir, msg.StorageDirectory, msg.FilePath) | ||||
| file, err := os.Open(fullPath) | file, err := os.Open(fullPath) | ||||
| if err != nil { | if err != nil { | ||||
| logger.Warnf("opening file %s: %s", fullPath, err.Error()) | logger.Warnf("opening file %s: %s", fullPath, err.Error()) | ||||
| return nil, ramsg.Failed(errorcode.OperationFailed, "open file failed") | |||||
| return nil, mq.Failed(errorcode.OperationFailed, "open file failed") | |||||
| } | } | ||||
| fileInfo, err := file.Stat() | fileInfo, err := file.Stat() | ||||
| if err != nil { | if err != nil { | ||||
| file.Close() | file.Close() | ||||
| logger.Warnf("getting file %s state: %s", fullPath, err.Error()) | logger.Warnf("getting file %s state: %s", fullPath, err.Error()) | ||||
| return nil, ramsg.Failed(errorcode.OperationFailed, "get file info failed") | |||||
| return nil, mq.Failed(errorcode.OperationFailed, "get file info failed") | |||||
| } | } | ||||
| fileSize := fileInfo.Size() | fileSize := fileInfo.Size() | ||||
| @@ -239,19 +239,19 @@ func (svc *Service) StartStorageUploadRepObject(msg *agtmsg.StartStorageUploadRe | |||||
| // Task会关闭文件流 | // Task会关闭文件流 | ||||
| tsk := svc.taskManager.StartNew(task.NewUploadRepObjects(msg.UserID, msg.BucketID, uploadObjects, msg.RepCount)) | tsk := svc.taskManager.StartNew(task.NewUploadRepObjects(msg.UserID, msg.BucketID, uploadObjects, msg.RepCount)) | ||||
| return ramsg.ReplyOK(agtmsg.NewStartStorageUploadRepObjectResp(tsk.ID())) | |||||
| return mq.ReplyOK(agtmsg.NewStartStorageUploadRepObjectResp(tsk.ID())) | |||||
| } | } | ||||
| func (svc *Service) WaitStorageUploadRepObject(msg *agtmsg.WaitStorageUploadRepObject) (*agtmsg.WaitStorageUploadRepObjectResp, *ramsg.CodeMessage) { | |||||
| func (svc *Service) WaitStorageUploadRepObject(msg *agtmsg.WaitStorageUploadRepObject) (*agtmsg.WaitStorageUploadRepObjectResp, *mq.CodeMessage) { | |||||
| tsk := svc.taskManager.FindByID(msg.TaskID) | tsk := svc.taskManager.FindByID(msg.TaskID) | ||||
| if tsk == nil { | if tsk == nil { | ||||
| return nil, ramsg.Failed(errorcode.TaskNotFound, "task not found") | |||||
| return nil, mq.Failed(errorcode.TaskNotFound, "task not found") | |||||
| } | } | ||||
| if msg.WaitTimeoutMs == 0 { | if msg.WaitTimeoutMs == 0 { | ||||
| tsk.Wait() | tsk.Wait() | ||||
| } else if !tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | } else if !tsk.WaitTimeout(time.Duration(msg.WaitTimeoutMs)) { | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitStorageUploadRepObjectResp(false, "", 0, "")) | |||||
| return mq.ReplyOK(agtmsg.NewWaitStorageUploadRepObjectResp(false, "", 0, "")) | |||||
| } | } | ||||
| uploadTask := tsk.Body().(*task.UploadRepObjects) | uploadTask := tsk.Body().(*task.UploadRepObjects) | ||||
| @@ -266,5 +266,5 @@ func (svc *Service) WaitStorageUploadRepObject(msg *agtmsg.WaitStorageUploadRepO | |||||
| errMsg = uploadRet.Error.Error() | errMsg = uploadRet.Error.Error() | ||||
| } | } | ||||
| return ramsg.ReplyOK(agtmsg.NewWaitStorageUploadRepObjectResp(true, errMsg, uploadRet.ObjectID, uploadRet.FileHash)) | |||||
| return mq.ReplyOK(agtmsg.NewWaitStorageUploadRepObjectResp(true, errMsg, uploadRet.ObjectID, uploadRet.FileHash)) | |||||
| } | } | ||||
| @@ -7,7 +7,7 @@ import ( | |||||
| log "gitlink.org.cn/cloudream/common/pkg/logger" | log "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| myio "gitlink.org.cn/cloudream/common/utils/io" | myio "gitlink.org.cn/cloudream/common/utils/io" | ||||
| "gitlink.org.cn/cloudream/common/utils/ipfs" | "gitlink.org.cn/cloudream/common/utils/ipfs" | ||||
| agentserver "gitlink.org.cn/cloudream/proto" | |||||
| agentserver "gitlink.org.cn/cloudream/storage-common/pkgs/proto" | |||||
| ) | ) | ||||
| type GRPCService struct { | type GRPCService struct { | ||||
| @@ -7,10 +7,10 @@ import ( | |||||
| "path/filepath" | "path/filepath" | ||||
| "time" | "time" | ||||
| "gitlink.org.cn/cloudream/common/models" | |||||
| "gitlink.org.cn/cloudream/common/pkg/logger" | "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| "gitlink.org.cn/cloudream/ec" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| "gitlink.org.cn/cloudream/storage-common/models" | |||||
| "gitlink.org.cn/cloudream/storage-common/pkgs/ec" | |||||
| ) | ) | ||||
| type EcRead struct { | type EcRead struct { | ||||
| @@ -4,7 +4,7 @@ import ( | |||||
| distsvc "gitlink.org.cn/cloudream/common/pkg/distlock/service" | distsvc "gitlink.org.cn/cloudream/common/pkg/distlock/service" | ||||
| "gitlink.org.cn/cloudream/common/pkg/task" | "gitlink.org.cn/cloudream/common/pkg/task" | ||||
| "gitlink.org.cn/cloudream/common/utils/ipfs" | "gitlink.org.cn/cloudream/common/utils/ipfs" | ||||
| coorcli "gitlink.org.cn/cloudream/rabbitmq/client/coordinator" | |||||
| coorcli "gitlink.org.cn/cloudream/storage-common/pkgs/mq/client/coordinator" | |||||
| ) | ) | ||||
| type TaskContext struct { | type TaskContext struct { | ||||
| @@ -10,13 +10,13 @@ import ( | |||||
| "gitlink.org.cn/cloudream/common/pkg/distlock/reqbuilder" | "gitlink.org.cn/cloudream/common/pkg/distlock/reqbuilder" | ||||
| "gitlink.org.cn/cloudream/common/pkg/logger" | "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| "gitlink.org.cn/cloudream/common/utils" | "gitlink.org.cn/cloudream/common/utils" | ||||
| mygrpc "gitlink.org.cn/cloudream/common/utils/grpc" | |||||
| "gitlink.org.cn/cloudream/common/utils/ipfs" | "gitlink.org.cn/cloudream/common/utils/ipfs" | ||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| mygrpc "gitlink.org.cn/cloudream/storage-common/utils/grpc" | |||||
| agentcaller "gitlink.org.cn/cloudream/proto" | |||||
| ramsg "gitlink.org.cn/cloudream/rabbitmq/message" | |||||
| coormsg "gitlink.org.cn/cloudream/rabbitmq/message/coordinator" | |||||
| ramsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message" | |||||
| coormsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/coordinator" | |||||
| agentcaller "gitlink.org.cn/cloudream/storage-common/pkgs/proto" | |||||
| "google.golang.org/grpc" | "google.golang.org/grpc" | ||||
| "google.golang.org/grpc/credentials/insecure" | "google.golang.org/grpc/credentials/insecure" | ||||
| @@ -9,14 +9,14 @@ import ( | |||||
| distsvc "gitlink.org.cn/cloudream/common/pkg/distlock/service" | distsvc "gitlink.org.cn/cloudream/common/pkg/distlock/service" | ||||
| log "gitlink.org.cn/cloudream/common/pkg/logger" | log "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| "gitlink.org.cn/cloudream/common/utils/ipfs" | "gitlink.org.cn/cloudream/common/utils/ipfs" | ||||
| agentserver "gitlink.org.cn/cloudream/proto" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| "gitlink.org.cn/cloudream/storage-agent/internal/task" | "gitlink.org.cn/cloudream/storage-agent/internal/task" | ||||
| agentserver "gitlink.org.cn/cloudream/storage-common/pkgs/proto" | |||||
| "google.golang.org/grpc" | "google.golang.org/grpc" | ||||
| "gitlink.org.cn/cloudream/rabbitmq/client/coordinator" | |||||
| rasvr "gitlink.org.cn/cloudream/rabbitmq/server/agent" | |||||
| "gitlink.org.cn/cloudream/storage-common/pkgs/mq/client/coordinator" | |||||
| rasvr "gitlink.org.cn/cloudream/storage-common/pkgs/mq/server/agent" | |||||
| cmdsvc "gitlink.org.cn/cloudream/storage-agent/internal/services/cmd" | cmdsvc "gitlink.org.cn/cloudream/storage-agent/internal/services/cmd" | ||||
| grpcsvc "gitlink.org.cn/cloudream/storage-agent/internal/services/grpc" | grpcsvc "gitlink.org.cn/cloudream/storage-agent/internal/services/grpc" | ||||
| @@ -7,9 +7,9 @@ import ( | |||||
| "gitlink.org.cn/cloudream/common/consts" | "gitlink.org.cn/cloudream/common/consts" | ||||
| log "gitlink.org.cn/cloudream/common/pkg/logger" | log "gitlink.org.cn/cloudream/common/pkg/logger" | ||||
| "gitlink.org.cn/cloudream/common/utils" | "gitlink.org.cn/cloudream/common/utils" | ||||
| coorcli "gitlink.org.cn/cloudream/rabbitmq/client/coordinator" | |||||
| coormsg "gitlink.org.cn/cloudream/rabbitmq/message/coordinator" | |||||
| "gitlink.org.cn/cloudream/storage-agent/internal/config" | "gitlink.org.cn/cloudream/storage-agent/internal/config" | ||||
| coorcli "gitlink.org.cn/cloudream/storage-common/pkgs/mq/client/coordinator" | |||||
| coormsg "gitlink.org.cn/cloudream/storage-common/pkgs/mq/message/coordinator" | |||||
| ) | ) | ||||
| func reportStatus(wg *sync.WaitGroup) { | func reportStatus(wg *sync.WaitGroup) { | ||||