コード例 #1
0
ファイル: event.go プロジェクト: saltmueller/skia-buildbot
// BuildbotEventType registers a subtopic and returns a subtopic name for the
// given buildbot event type.
func BuildbotEventType(eventType string) string {
	subTopic := fmt.Sprintf("%s-%s", GLOBAL_BUILDBOT, eventType)
	eventbus.RegisterSubTopic(GLOBAL_BUILDBOT, subTopic, func(eventData interface{}) bool {
		e, ok := eventData.(*BuildbotEventData)
		if !ok {
			glog.Errorf("Received data that was not an instance of BuildbotEventData.")
			return false
		}
		return e.Event == eventType
	})
	return subTopic
}
コード例 #2
0
ファイル: event.go プロジェクト: saltmueller/skia-buildbot
func StorageEvent(bucket, prefix string) string {
	// Generate a unique topic name. This is also necessary because bucket and prefix values
	// can contain many more different characters than event names.
	subTopic := fmt.Sprintf("%s-%x", GLOBAL_GOOGLE_STORAGE, md5.Sum([]byte(bucket+"/"+prefix)))
	eventbus.RegisterSubTopic(GLOBAL_GOOGLE_STORAGE, subTopic, func(eventData interface{}) bool {
		gsEvent, ok := eventData.(*GoogleStorageEventData)
		if !ok {
			glog.Errorf("Received data that was not an instance of GoogleStorageEventData.")
			return false
		}

		return (gsEvent.Bucket == bucket) && strings.HasPrefix(gsEvent.Name, prefix)
	})
	return subTopic
}