コード例 #1
0
ファイル: queue_test.go プロジェクト: yangfan876/gouda
func TestQueue(t *testing.T) {
	q := gouda.NewQ(100)
	wg := new(sync.WaitGroup)
	queue, _ := gouda.NewQueue(q)

	wg.Add(1)
	go func(p gouda.Producer) {
		for i := 1; i < 5; i++ {
			p.Pub([]byte("we can do it."))
			//		time.Sleep(time.Second * 1)
		}
		p.Pub([]byte("EOF"))
		wg.Done()
	}(queue)
	wg.Add(1)
	go func(c gouda.Consumer) {
		for {
			msg, _, _ := c.Sub()
			if string(msg) == "EOF" {
				t.Log(string(msg))
				break
			}
			t.Log(string(msg))
		}
		wg.Done()
	}(queue)
	wg.Wait()
}
コード例 #2
0
ファイル: queue_test.go プロジェクト: yangfan876/gouda
func TestPQueue(t *testing.T) {
	t.Log("what's wrong")
	q := gouda.NewQ(100)
	t.Log(q)
	wg := new(sync.WaitGroup)
	queue, err := gouda.NewPQueue(q, "./home/back.back")
	if queue != nil {
		t.Log(queue)
	}
	if err != nil {
		t.Error(err.Error())
		return
	}

	t.Log(queue)

	if err != nil {
		t.Error("Get queue error")
	}
	wg.Add(1)
	go func(p gouda.Producer) {
		for i := 1; i < 5; i++ {
			p.Pub([]byte("we can do it."))
			time.Sleep(time.Second * 1)
		}
		queue.Pub([]byte("EOF"))
		wg.Done()
	}(queue)
	wg.Add(1)
	go func(c gouda.Consumer) {
		for {
			msg, _, _ := c.Sub()
			if string(msg) == "EOF" {
				t.Log(string(msg))
				break
			}
			t.Log(string(msg))
		}
		wg.Done()
	}(queue)
	wg.Wait()
}
コード例 #3
0
ファイル: queue_test.go プロジェクト: yangfan876/gouda
func TestQCreate(t *testing.T) {
	queue := gouda.NewQ(10)
	t.Log(queue)
}