private async void DiscoverAvailableKeysAsync() { Console.WriteLine($"{this}: discovering available keys..."); var keysResponse = await _client.GetKeysWithHttpMessagesAsync(_uri); if (!keysResponse.Response.IsSuccessStatusCode) { throw new InvalidProgramException(); } using (var respBodyEnum = keysResponse.Body.GetEnumerator()) { while (respBodyEnum.MoveNext()) { var cur = respBodyEnum.Current; var keyData = await _client.GetKeyWithHttpMessagesAsync(_uri, cur.Identifier.Name, cur.Identifier.Version); if (keyData.Response.IsSuccessStatusCode) { lock (_keys) { _keys[cur.Identifier.Name] = new Key(cur, keyData.Body, this); _DEBUG_KeyEncDecVerify(_keys[cur.Identifier.Name]); } } } } Console.WriteLine($"{this}: key discovery complete ({_keys.Count}); initalized."); }