Browse Source

优化TypeUnion的使用方式

gitlink
Sydonian 2 years ago
parent
commit
e970ec32b4
8 changed files with 14 additions and 2 deletions
  1. +1
    -1
      client/internal/cmdline/scanner.go
  2. +1
    -0
      common/pkgs/mq/scanner/event/agent_check_cache.go
  3. +1
    -0
      common/pkgs/mq/scanner/event/agent_check_state.go
  4. +1
    -0
      common/pkgs/mq/scanner/event/agent_check_storage.go
  5. +1
    -0
      common/pkgs/mq/scanner/event/check_cache.go
  6. +1
    -0
      common/pkgs/mq/scanner/event/check_package.go
  7. +1
    -0
      common/pkgs/mq/scanner/event/check_rep_count.go
  8. +7
    -1
      common/pkgs/mq/scanner/event/event.go

+ 1
- 1
client/internal/cmdline/scanner.go View File

@@ -16,7 +16,7 @@ func ScannerPostEvent(ctx CommandContext, args []string) error {
return fmt.Errorf("execute parsing event command failed, err: %w", err)
}

err = ctx.Cmdline.Svc.ScannerSvc().PostEvent(ret, false, false)
err = ctx.Cmdline.Svc.ScannerSvc().PostEvent(ret.(scevt.Event), false, false)
if err != nil {
return fmt.Errorf("post event to scanner failed, err: %w", err)
}


+ 1
- 0
common/pkgs/mq/scanner/event/agent_check_cache.go View File

@@ -1,6 +1,7 @@
package event

type AgentCheckCache struct {
EventBase
NodeID int64 `json:"nodeID"`
FileHashes []string `json:"fileHashes"` // 需要检查的FileHash列表,如果为nil(不是为空),则代表进行全量检查
}


+ 1
- 0
common/pkgs/mq/scanner/event/agent_check_state.go View File

@@ -1,6 +1,7 @@
package event

type AgentCheckState struct {
EventBase
NodeID int64 `json:"nodeID"`
}



+ 1
- 0
common/pkgs/mq/scanner/event/agent_check_storage.go View File

@@ -1,6 +1,7 @@
package event

type AgentCheckStorage struct {
EventBase
StorageID int64 `json:"storageID"`
PackageIDs []int64 `json:"packageIDs"` // 需要检查的Package文件列表,如果为nil(不是为空),则代表进行全量检查
}


+ 1
- 0
common/pkgs/mq/scanner/event/check_cache.go View File

@@ -1,6 +1,7 @@
package event

type CheckCache struct {
EventBase
NodeID int64 `json:"nodeID"`
}



+ 1
- 0
common/pkgs/mq/scanner/event/check_package.go View File

@@ -1,6 +1,7 @@
package event

type CheckPackage struct {
EventBase
PackageIDs []int64 `json:"packageIDs"`
}



+ 1
- 0
common/pkgs/mq/scanner/event/check_rep_count.go View File

@@ -1,6 +1,7 @@
package event

type CheckRepCount struct {
EventBase
FileHashes []string `json:"fileHashes"`
}



+ 7
- 1
common/pkgs/mq/scanner/event/event.go View File

@@ -5,10 +5,16 @@ import (
myreflect "gitlink.org.cn/cloudream/common/utils/reflect"
)

type Event interface{}
type Event interface {
Noop()
}

var EventTypeUnino = types.NewTypeUnion[Event]()

type EventBase struct{}

func (e *EventBase) Noop() {}

func Register[T any]() {
EventTypeUnino.Add(myreflect.TypeOf[T]())
}

Loading…
Cancel
Save