(models []*ModelInfo)
| 559 | } |
| 560 | |
| 561 | func cloneModelInfosUnique(models []*ModelInfo) []*ModelInfo { |
| 562 | if len(models) == 0 { |
| 563 | return nil |
| 564 | } |
| 565 | cloned := make([]*ModelInfo, 0, len(models)) |
| 566 | seen := make(map[string]struct{}, len(models)) |
| 567 | for _, model := range models { |
| 568 | if model == nil || model.ID == "" { |
| 569 | continue |
| 570 | } |
| 571 | if _, exists := seen[model.ID]; exists { |
| 572 | continue |
| 573 | } |
| 574 | seen[model.ID] = struct{}{} |
| 575 | cloned = append(cloned, cloneModelInfo(model)) |
| 576 | } |
| 577 | return cloned |
| 578 | } |
| 579 | |
| 580 | // UnregisterClient removes a client and decrements counts for its models |
| 581 | // Parameters: |
no test coverage detected