rts-sim-module/cgrepo/manage.go

34 lines
807 B
Go
Raw Normal View History

2023-12-27 15:59:46 +08:00
package repo
// type repoManager struct {
// repoMap map[string]CgRepo
// lock sync.Mutex
// }
// var defaultManager = &repoManager{
// repoMap: make(map[string]CgRepo),
// }
// // 获取或构建模型仓库
// func GetOrBuildRepo(id string, dc func(errRecord *ErrorRecord) *dto.CgRepo) (CgRepo, *ErrorRecord) {
// manager := defaultManager
// manager.lock.Lock()
// defer manager.lock.Unlock()
// r, ok := manager.repoMap[id]
// errRecord := NewErrorRecord()
// if !ok {
// // 所需protobuf数据转换
// msgs := dc(errRecord)
// // 数据转换出错直接返回
// if errRecord.HasError() {
// return nil, errRecord
// }
// // 构建模型Repo
// r, errRecord = BuildFrom(msgs)
// if r != nil {
// manager.repoMap[id] = r
// }
// }
// return r, errRecord
// }