Files
bl/common/utils/event/test_scenarios/request-reply-with-cancellation/events/main.go
昔念 cd7583ba05 test(utils): 添加事件驱动模型测试
- 在 sqrt_test.go 中添加了 fastSqr1 测试函数,用于测试事件驱动模型
- 新增了 Event 和 Uint32AsyncEvent 类型用于测试
- 更新了 go.work、go.mod 和
2025-08-05 16:10:18 +08:00

34 lines
461 B
Go

package events
import (
"context"
)
type EventState struct {
Ctx context.Context
Done chan struct{} `json:"-"`
Error error
}
func NewEventState(ctx context.Context) *EventState {
return &EventState{
Ctx: ctx,
Done: make(chan struct{}),
}
}
func (s *EventState) Close() {
s.Error = s.Ctx.Err()
close(s.Done)
}
type NewOrder struct {
ID int
}
type CreateOrderEvent struct {
NewOrder *NewOrder
ProductIDs []int
State *EventState
}