예제 #1
0
        private BobNodeAddress InitNodeAddress()
        {
            BobNodeAddress result = _nodeAddress;

            if (result == null)
            {
                _nodeAddress = result = new BobNodeAddress(Host, Port ?? BobNodeAddress.DefaultPort);
            }

            return(result);
        }
예제 #2
0
        /// <summary>
        /// <see cref="BobConnectionParameters"/> constructor from connection string
        /// </summary>
        /// <param name="connectionString">Connection string</param>
        public BobConnectionParameters(string connectionString)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException(nameof(connectionString));
            }

            _customParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
            _nodeAddress      = null;
            Host = string.Empty;

            BobConnectionStringParser.ParseConnectionStringInto(connectionString, this);
        }
예제 #3
0
        /// <summary>
        /// Copy constructor
        /// </summary>
        /// <param name="sourceParameters">Source parameters</param>
        internal BobConnectionParameters(IModifiableBobConnectionParameters sourceParameters)
        {
            if (sourceParameters == null)
            {
                throw new ArgumentNullException(nameof(sourceParameters));
            }

            _customParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
            _nodeAddress      = null;
            Host = string.Empty;

            IModifiableBobConnectionParametersExtensions.CopyFrom(targetParameters: this, sourceParameters: sourceParameters);
            IModifiableBobConnectionParametersExtensions.Validate(this, ValidationExceptionBehaviour.InvalidConnectionParametersException);
        }
예제 #4
0
        /// <summary>
        /// <see cref="BobConnectionParametersBuilder"/> constructor
        /// </summary>
        /// <param name="nodeAddress">Bob node address</param>
        /// <param name="user">Bob user name</param>
        /// <param name="password">Password for specified user</param>
        public BobConnectionParametersBuilder(BobNodeAddress nodeAddress, string user, string password)
        {
            if (nodeAddress == null)
            {
                throw new ArgumentNullException(nameof(nodeAddress));
            }

            Host     = nodeAddress.Host;
            Port     = nodeAddress.Port;
            User     = user;
            Password = password;

            _customParameters = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase);
        }
예제 #5
0
 /// <summary>
 /// <see cref="BobConnectionParameters"/> constructor
 /// </summary>
 /// <param name="nodeAddress">Bob node address</param>
 public BobConnectionParameters(BobNodeAddress nodeAddress)
     : this(nodeAddress, null, null)
 {
 }