/// <summary> /// Configure are configures component by passing configuration parameters. /// </summary> /// <param name="config">Configuration parameters to be set</param> public void Configure(ConfigParams config) { config = config.SetDefaults(_defaultConfig); _connectionResolver.Configure(config); _logger.Configure(config); _options = _options.Override(config.GetSection("options")); _clientId = config.GetAsStringWithDefault("client_id", _clientId); _retryConnect = config.GetAsBooleanWithDefault("options.retry_connect", _retryConnect); _connectTimeout = config.GetAsIntegerWithDefault("options.connect_timeout", _connectTimeout); _reconnectTimeout = config.GetAsIntegerWithDefault("options.reconnect_timeout", _reconnectTimeout); _keepAliveTimeout = config.GetAsIntegerWithDefault("options.keepalive_timeout", _keepAliveTimeout); }
public async Task TestUriConnectionWithAuthAsync() { var resolver = new MqttConnectionResolver(); resolver.Configure(ConfigParams.FromTuples( "connection.uri", "tcp://*****:*****@server1:1883,server2:1883,server3:1883?param1=ABC" )); var connection = await resolver.ResolveAsync(null); Assert.Equal("server1:1883,server2:1883,server3:1883", connection.GetAsString("servers")); Assert.Equal("test", connection.GetAsString("username")); Assert.Equal("pass123", connection.GetAsString("password")); }
public async Task TestSingleConnectionAsync() { var resolver = new MqttConnectionResolver(); resolver.Configure(ConfigParams.FromTuples( "connection.protocol", "tcp", "connection.host", "localhost", "connection.port", 1883 )); var connection = await resolver.ResolveAsync(null); Assert.Equal("localhost:1883", connection.GetAsString("servers")); Assert.Null(connection.GetAsString("username")); Assert.Null(connection.GetAsString("password")); }
public async Task TestClusterConnectionAsync() { var resolver = new MqttConnectionResolver(); resolver.Configure(ConfigParams.FromTuples( "connections.0.protocol", "tcp", "connections.0.host", "server1", "connections.0.port", 1883, "connections.1.protocol", "tcp", "connections.1.host", "server2", "connections.1.port", 1883, "connections.2.protocol", "tcp", "connections.2.host", "server3", "connections.2.port", 1883 )); var connection = await resolver.ResolveAsync(null); Assert.Equal("server1:1883,server2:1883,server3:1883", connection.GetAsString("servers")); Assert.Null(connection.GetAsString("username")); Assert.Null(connection.GetAsString("password")); }