Files
bl/common/utils/event/test_scenarios/factory-request-reply/events/main.go

57 lines
1.2 KiB
Go
Raw Normal View History

package events
import (
"sync"
"github.com/badu/bus/test_scenarios/factory-request-reply/inventory"
"github.com/badu/bus/test_scenarios/factory-request-reply/prices"
)
type InventoryGRPCClientRequestEvent struct {
wg sync.WaitGroup
Conn Closer // should be *grpc.ClientConn, but we're avoiding the import
Client inventory.ServiceClient
}
func NewInventoryGRPCClientRequestEvent() *InventoryGRPCClientRequestEvent {
result := InventoryGRPCClientRequestEvent{}
result.wg.Add(1)
return &result
}
func (i *InventoryGRPCClientRequestEvent) Async() bool {
return true // this one is async
}
func (i *InventoryGRPCClientRequestEvent) WaitReply() {
i.wg.Wait()
}
func (i *InventoryGRPCClientRequestEvent) Reply() {
i.wg.Done()
}
type PricesGRPCClientRequestEvent struct {
wg sync.WaitGroup
Conn Closer // should be *grpc.ClientConn, but we're avoiding the import
Client prices.ServiceClient
}
func NewPricesGRPCClientRequestEvent() *PricesGRPCClientRequestEvent {
result := PricesGRPCClientRequestEvent{}
result.wg.Add(1)
return &result
}
func (p *PricesGRPCClientRequestEvent) WaitReply() {
p.wg.Wait()
}
func (p *PricesGRPCClientRequestEvent) Reply() {
p.wg.Done()
}
type Closer interface {
Close() error
}