actor_msg.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package actor
  2. import "sparrow/pkg/ruleEngine"
  3. type Msg interface {
  4. GetMessageType() MsgType
  5. }
  6. // actor message type def
  7. type MsgType string
  8. const (
  9. QUEUE_TO_RULE_ENGINE_MSG MsgType = "QUEUE_TO_RULE_ENGINE_MSG"
  10. RULE_CHAIN_TO_RULE_MSG MsgType = "RULE_CHAIN_TO_RULE_MSG"
  11. RULE_TO_RULE_CHAIN_TELL_NEXT_MSG MsgType = "RULE_TO_RULE_CHAIN_TELL_NEXT_MSG"
  12. RULE_TO_SELF_MSG MsgType = "RULE_TO_SELF_MSG"
  13. )
  14. type QueueToRuleEngineMsg struct {
  15. TenantId string
  16. Message *ruleEngine.Message
  17. RelationTypes []ruleEngine.RelationType
  18. FailureMessage error
  19. }
  20. func (q *QueueToRuleEngineMsg) GetMessageType() MsgType {
  21. return QUEUE_TO_RULE_ENGINE_MSG
  22. }
  23. type RuleNodeToRuleChanTellNextMsg struct {
  24. RuleNodeId string
  25. RelationTypes []ruleEngine.RelationType
  26. Message *ruleEngine.Message
  27. FailureMessage error
  28. }
  29. func (r *RuleNodeToRuleChanTellNextMsg) GetMessageType() MsgType {
  30. return RULE_TO_RULE_CHAIN_TELL_NEXT_MSG
  31. }
  32. type RuleToSelfMsg struct {
  33. Message *ruleEngine.Message
  34. }
  35. func (r *RuleToSelfMsg) GetMessageType() MsgType {
  36. return RULE_TO_SELF_MSG
  37. }