Example #1
0
File: main.go Project: Lavos/colony
func main() {
	flag.Parse()

	lookupHTTPa := "localhost:4161"
	daemona := "localhost:4150"
	daemonHTTPaddr := "localhost:4151"
	s := colony.NewService("Test", "1", lookupHTTPa, daemona, daemonHTTPaddr)
	log.Println("ct", *contentType)
	s.Announce(*contentType)
	m := s.NewMessage(*contentType, []byte(*payload))
	s.Emit(m)
}
Example #2
0
File: main.go Project: Lavos/colony
func main() {
	lookupHTTPa := "localhost:4161"
	quitChan := make(chan bool)

	log.Println("starting anteater service")
	s := colony.NewService("Anthill", "1", lookupHTTPa)
	s.Announce("ants")

	log.Println("starting ticker")
	ticker := time.NewTicker(time.Duration(5) * time.Second)

	go func() {
		for {
			<-ticker.C
			log.Println("ant!")
			m := s.NewMessage("ants", []byte("ant!"))
			s.Emit(m)
		}
	}()

	<-quitChan

}
Example #3
0
File: main.go Project: Lavos/colony
func main() {
	lookupHTTPa := "localhost:4161"
	quitChan := make(chan bool)
	s := colony.NewService("honeybadger", "1", lookupHTTPa)

	go s.Consume("bees", func(bees <-chan colony.Message) error {
		for {
			bee := <-bees
			log.Println("got bee", string(bee.Payload), "!")
			m := s.NewResponse(bee, "HoneyBadgerEtiquette", []byte("thanks for the bee!"))
			s.Emit(m)
			log.Println("sent response")
			if rand.Float64() < 0.5 {
				m = s.NewResponse(bee, "SnakeRequest", []byte("got any snkaes?"))
				s.Emit(m)
			}
		}
		return nil
	},
	)

	<-quitChan
}
Example #4
0
File: main.go Project: Lavos/colony
func main() {
	lookupHTTPa := "localhost:4161"
	quitChan := make(chan bool)

	log.Println("starting anteater service")
	s := colony.NewService("Anteater", "1", lookupHTTPa)

	log.Println("announcing bee production")
	s.Announce("bees")

	log.Println("starting ant consumer")
	go s.Consume("ants", func(ants <-chan colony.Message) error {
		for {
			ant := <-ants
			log.Println("got ant", string(ant.Payload))
			m := s.NewMessage("bees", []byte("bee! bzz bzz"))

			s.Request(m, responseHandler)
		}
		return nil
	},
	)
	<-quitChan
}