github.com/nsqio/nsq@v1.3.0/internal/protocol/names.go (about) 1 package protocol 2 3 import ( 4 "regexp" 5 ) 6 7 var validTopicChannelNameRegex = regexp.MustCompile(`^[.a-zA-Z0-9_-]+(#ephemeral)?$`) 8 9 // IsValidTopicName checks a topic name for correctness 10 func IsValidTopicName(name string) bool { 11 return isValidName(name) 12 } 13 14 // IsValidChannelName checks a channel name for correctness 15 func IsValidChannelName(name string) bool { 16 return isValidName(name) 17 } 18 19 func isValidName(name string) bool { 20 if len(name) > 64 || len(name) < 1 { 21 return false 22 } 23 return validTopicChannelNameRegex.MatchString(name) 24 }