pub fn keys(&self) -> Keys<'_> {
        Keys {
            inner: self.headers.keys(),
        }
    }
An iterator visiting all keys.

The iteration order is arbitrary, but consistent across platforms for
the same crate version. Each key will be yielded only once even if it
has multiple associated values.

# Examples

```
# use tonic::metadata::*;
let mut map = MetadataMap::new();

map.insert("x-word", "hello".parse().unwrap());
map.append("x-word", "goodbye".parse().unwrap());
map.insert_bin("x-number-bin", MetadataValue::from_bytes(b"123"));

for key in map.keys() {
match key {
KeyRef::Ascii(ref key) =>
println!("Ascii key: {:?}", key),
KeyRef::Binary(ref key) =>
println!("Binary key: {:?}", key),
}
println!("{:?}", key);
}
```
tonic/src/metadata/map.rs