filter.go 395 B

123456789101112131415161718
  1. package tinymq
  2. import "regexp"
  3. // 正则频道过滤器
  4. func RegChannelFilter(channel *regexp.Regexp) FilterFunc {
  5. return func(conn *Line) (ok bool) {
  6. return channel.MatchString(conn.channel)
  7. }
  8. }
  9. // 字符串频道过滤器
  10. func StrChannelFilter(channel string) FilterFunc {
  11. c := regexp.MustCompile(channel)
  12. return func(conn *Line) (ok bool) {
  13. return c.MatchString(conn.channel)
  14. }
  15. }