diff --git a/garnet/bin/pkg_resolver/src/resolver_service.rs b/garnet/bin/pkg_resolver/src/resolver_service.rs index 4501a50f1d74f0a9e42b82aed7b212b2dc236d89..4c00dfa9436839b20eb434f488d84d4585d05512 100644 --- a/garnet/bin/pkg_resolver/src/resolver_service.rs +++ b/garnet/bin/pkg_resolver/src/resolver_service.rs @@ -134,8 +134,8 @@ async fn resolve<'a>( // FIXME: use the package cache to fetch the package instead of amber. // Ask amber to cache the package. - let chan = - await!(amber.get_update_complete(&name, uri.variant(), uri.hash())).map_err(|err| { + let chan = await!(amber.get_update_complete(&name, uri.variant(), uri.package_hash())) + .map_err(|err| { fx_log_err!("error communicating with amber: {:?}", err); Status::INTERNAL })?; diff --git a/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs b/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs index 3b44984c47b8f1d45be17112a63d17d2e4dd5776..e98bcf00fe327d2ba5b3c06aaad29d9c4415d0f1 100644 --- a/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs +++ b/garnet/lib/rust/fuchsia_uri/src/pkg_uri.rs @@ -32,7 +32,7 @@ use url::Url; /// - fuchsia-pkg://example.com/some-package/some-variant#path/to/resource /// - fuchsia-pkg://example.com/some-package/some-variant?hash=<some-hash>#path/to/resource /// - fuchsia-pkg://example.com/some-package/some-variant/<some-hash>#path/to/resource (obsolete) -#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)] +#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct PkgUri { host: String, path: String, @@ -116,7 +116,7 @@ impl PkgUri { &self.path } - pub fn hash(&self) -> Option<&str> { + pub fn package_hash(&self) -> Option<&str> { self.hash.as_ref().map(|s| &**s) } @@ -246,7 +246,7 @@ impl<'de> Deserialize<'de> for PkgUri { } } -#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize)] +#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize)] #[serde(transparent)] pub struct RepoUri { uri: PkgUri, @@ -410,7 +410,7 @@ mod tests { assert_eq!(uri.path(), $pkg_path); assert_eq!(uri.name(), $pkg_name); assert_eq!(uri.variant(), $pkg_variant); - assert_eq!(uri.hash(), $pkg_hash); + assert_eq!(uri.package_hash(), $pkg_hash); assert_eq!(uri.resource(), $pkg_resource); } @@ -753,7 +753,7 @@ mod tests { assert_eq!("/", uri.path()); assert_eq!(None, uri.name()); assert_eq!(None, uri.variant()); - assert_eq!(None, uri.hash()); + assert_eq!(None, uri.package_hash()); assert_eq!(None, uri.resource()); assert_eq!(PkgUri::new_repository("".to_string()), Err(ParseError::InvalidHost)); @@ -773,7 +773,7 @@ mod tests { assert_eq!(Some("stable"), uri.variant()); assert_eq!( Some("80e8721f4eba5437c8b6e1604f6ee384f42aed2b6dfbfd0b616a864839cd7b4a"), - uri.hash() + uri.package_hash() ); assert_eq!(None, uri.resource()); assert_eq!(uri, uri.root_uri()); @@ -829,7 +829,7 @@ mod tests { assert_eq!(Some("stable"), uri.variant()); assert_eq!( Some("80e8721f4eba5437c8b6e1604f6ee384f42aed2b6dfbfd0b616a864839cd7b4a"), - uri.hash() + uri.package_hash() ); assert_eq!(Some("foo/bar"), uri.resource()); let mut uri_no_resource = uri.clone(); diff --git a/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs b/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs index 60835d7c5c0f3846925718ccea6252c9da22ca0f..3a17a326196d9383c273db22a6aa42d917b2694c 100644 --- a/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs +++ b/garnet/lib/rust/fuchsia_uri_rewrite/src/rule.rs @@ -96,13 +96,13 @@ impl Rule { (_, None) => PkgUri::new_package( self.host_replacement.clone(), new_path, - uri.hash().map(|s| s.to_owned()), + uri.package_hash().map(|s| s.to_owned()), ), (_, Some(resource)) => PkgUri::new_resource( self.host_replacement.clone(), new_path, - uri.hash().map(|s| s.to_owned()), + uri.package_hash().map(|s| s.to_owned()), resource.to_owned(), ), })