38 lines
708 B
Go
38 lines
708 B
Go
package module
|
|
|
|
import "sync"
|
|
|
|
// 重点!!!每个模块需要保证同步执行
|
|
|
|
type Module interface {
|
|
Init() error // 初始化
|
|
Start(ready *sync.WaitGroup) error // 启动
|
|
AfterStart() error // 启动之后
|
|
Stop() error // 停止
|
|
Bind(data ...any) Module // 绑定数据
|
|
}
|
|
|
|
type DefaultModule struct {
|
|
}
|
|
|
|
func (m *DefaultModule) Init() error {
|
|
return nil
|
|
}
|
|
|
|
func (m *DefaultModule) Start(ready *sync.WaitGroup) error {
|
|
ready.Done()
|
|
return nil
|
|
}
|
|
|
|
func (m *DefaultModule) AfterStart() error {
|
|
return nil
|
|
}
|
|
|
|
func (m *DefaultModule) Stop() error {
|
|
return nil
|
|
}
|
|
|
|
func (m *DefaultModule) Bind(_ ...any) Module {
|
|
return m
|
|
}
|