void UnreliableTransportConfiguration::LoadConfiguration(Config & config)
{
    wstring section(L"UnreliableTransport");
    StringCollection specKeys;
    config.GetKeys(section, specKeys);

    for(wstring const & key : specKeys)
    {
        bool isEncrypted = false;
        wstring value = config.ReadString(section, key, isEncrypted);

        ASSERT_IF(
            isEncrypted, 
            "value of SectionName={0} and KeyName={1} is encrypted. Encryption is not supported on this parameter", section, key);

        if (!AddSpecification(key, value))
        {
            UnreliableTransport::WriteWarning("Config", "Config for {0} is invalid", key);
        }
    }

    UnreliableTransport::WriteInfo("Config", "Loaded config: {0}", *this);
}