| 580 | } |
| 581 | |
| 582 | func DedupTransferElems(elems []VDomTransferElem) []VDomTransferElem { |
| 583 | seen := make(map[string]int) // maps WaveId to its index in the result slice |
| 584 | var result []VDomTransferElem |
| 585 | |
| 586 | for _, elem := range elems { |
| 587 | if idx, exists := seen[elem.WaveId]; exists { |
| 588 | // Overwrite the previous element with the latest one |
| 589 | result[idx] = elem |
| 590 | } else { |
| 591 | // Add new element and store its index |
| 592 | seen[elem.WaveId] = len(result) |
| 593 | result = append(result, elem) |
| 594 | } |
| 595 | } |
| 596 | |
| 597 | return result |
| 598 | } |
| 599 | |
| 600 | func (beUpdate *VDomBackendUpdate) CreateTransferElems() { |
| 601 | var vdomElems []VDomElem |