1
0

interface.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package event
  2. // constant event type identifiers
  3. const (
  4. EventIncr = iota
  5. EventTiming
  6. EventAbsolute
  7. EventTotal
  8. EventGauge
  9. EventGaugeDelta
  10. EventFGauge
  11. EventFGaugeDelta
  12. EventFAbsolute
  13. EventPrecisionTiming
  14. )
  15. // Event is an interface to a generic StatsD event, used by the buffered client collator
  16. type Event interface {
  17. Stats() []string
  18. Type() int
  19. TypeString() string
  20. Payload() interface{}
  21. Update(e2 Event) error
  22. String() string
  23. Key() string
  24. SetKey(string)
  25. }
  26. // compile-time assertion to verify default events implement the Event interface
  27. func _() {
  28. var _ Event = (*Absolute)(nil) // assert *Absolute implements Event
  29. var _ Event = (*FAbsolute)(nil) // assert *FAbsolute implements Event
  30. var _ Event = (*Gauge)(nil) // assert *Gauge implements Event
  31. var _ Event = (*FGauge)(nil) // assert *FGauge implements Event
  32. var _ Event = (*GaugeDelta)(nil) // assert *GaugeDelta implements Event
  33. var _ Event = (*FGaugeDelta)(nil) // assert *FGaugeDelta implements Event
  34. var _ Event = (*Increment)(nil) // assert *Increment implements Event
  35. var _ Event = (*PrecisionTiming)(nil) // assert *PrecisionTiming implements Event
  36. var _ Event = (*Timing)(nil) // assert *Timing implements Event
  37. var _ Event = (*Total)(nil) // assert *Total implements Event
  38. }