processor.go 529 B

123456789101112131415161718192021222324
  1. package executor
  2. import (
  3. schemepkg "git.buran.team/main/cep/scheme"
  4. )
  5. type Processor interface {
  6. Process(buffer []byte) bool
  7. }
  8. func NewProcessor(processorScheme schemepkg.Processor) (Processor, error) {
  9. switch processorScheme.Kind {
  10. case schemepkg.PROCESSOR_KIND_MATCH:
  11. return NewMatchProcessor(processorScheme)
  12. case schemepkg.PROCESSOR_KIND_NOT_MATCH:
  13. return NewNotMatchProcessor(processorScheme)
  14. case schemepkg.PROCESSOR_KIND_EQUAL:
  15. return NewEqualProcessor(processorScheme)
  16. }
  17. return nil, ErrKindUnknown
  18. }