defs.go 730 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package checkpoints
  2. import (
  3. "github.com/emqx/kuiper/xstream/api"
  4. )
  5. type StreamTask interface {
  6. Broadcast(data interface{}) error
  7. GetName() string
  8. GetStreamContext() api.StreamContext
  9. SetQos(api.Qos)
  10. }
  11. type NonSourceTask interface {
  12. StreamTask
  13. GetInputCount() int
  14. AddInputCount()
  15. SetBarrierHandler(BarrierHandler)
  16. }
  17. type SinkTask interface {
  18. NonSourceTask
  19. SaveCache()
  20. }
  21. type BufferOrEvent struct {
  22. Data interface{}
  23. Channel string
  24. }
  25. type StreamCheckpointContext interface {
  26. Snapshot() error
  27. SaveState(checkpointId int64) error
  28. }
  29. type Message int
  30. const (
  31. STOP Message = iota
  32. ACK
  33. DEC
  34. )
  35. type Signal struct {
  36. Message Message
  37. Barrier
  38. }
  39. type Barrier struct {
  40. CheckpointId int64
  41. OpId string
  42. }