code: func (s *Server) PublishWithTags(ctx context.Context, msg interface{}, tags query.Tagged) error {
  	select {
  	case s.cmds <- cmd{op: pub, msg: msg, tags: tags}:
  		return nil
  	case <-ctx.Done():
  		return ctx.Err()
  	}
  }
docs: // PublishWithTags publishes the given message with the set of tags. The set is
  // matched with clients queries. If there is a match, the message is sent to
  // the client.