| 995 | |
| 996 | |
| 997 | hashmap<Option<ResourceProviderID>, UUID> parseResourceVersions( |
| 998 | const RepeatedPtrField<ResourceVersionUUID>& resourceVersionUUIDs) |
| 999 | { |
| 1000 | hashmap<Option<ResourceProviderID>, UUID> result; |
| 1001 | |
| 1002 | foreach ( |
| 1003 | const ResourceVersionUUID& resourceVersionUUID, |
| 1004 | resourceVersionUUIDs) { |
| 1005 | const Option<ResourceProviderID> resourceProviderId = |
| 1006 | resourceVersionUUID.has_resource_provider_id() |
| 1007 | ? resourceVersionUUID.resource_provider_id() |
| 1008 | : Option<ResourceProviderID>::none(); |
| 1009 | |
| 1010 | CHECK(!result.contains(resourceProviderId)); |
| 1011 | |
| 1012 | result.insert({std::move(resourceProviderId), resourceVersionUUID.uuid()}); |
| 1013 | } |
| 1014 | |
| 1015 | return result; |
| 1016 | } |
| 1017 | |
| 1018 | |
| 1019 | TimeInfo getCurrentTime() |