Ciphersuite Ciphersuite::by_name(const std::string& name) { for(auto suite : all_known_ciphersuites()) { if(suite.to_string() == name) return suite; } return Ciphersuite(); // some unknown ciphersuite }
Ciphersuite Ciphersuite::by_id(u16bit suite) { const std::vector<Ciphersuite>& all_suites = all_known_ciphersuites(); auto s = std::lower_bound(all_suites.begin(), all_suites.end(), suite); if(s->ciphersuite_code() == suite) { return *s; } return Ciphersuite(); // some unknown ciphersuite }