/// <summary>
 /// Initializes a new instance of the <see cref="MongoConnectionException"/> class.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="connection">The connection.</param>
 /// <param name="innerException">The inner exception.</param>
 internal MongoConnectionException(string message, Connection connection, Exception innerException)
     :base(message,innerException){
     if(connection == null)
         throw new ArgumentNullException("connection");
     ConnectionString = connection.ConnectionString;
     EndPoint = connection.EndPoint;
 }  
        public void CanBeXmlSerialized()
        {
            var source = new MongoServerEndPoint("myserver", 12345);
            var serializer = new XmlSerializer(typeof(MongoServerEndPoint));

            var writer = new StringWriter();
            serializer.Serialize(writer, source);
            var dest = (MongoServerEndPoint)serializer.Deserialize(new StringReader(writer.ToString()));

            Assert.AreEqual(source, dest);
        }
        public void CanBeXmlSerialized()
        {
            var source     = new MongoServerEndPoint("myserver", 12345);
            var serializer = new XmlSerializer(typeof(MongoServerEndPoint));

            var writer = new StringWriter();

            serializer.Serialize(writer, source);
            var dest = (MongoServerEndPoint)serializer.Deserialize(new StringReader(writer.ToString()));

            Assert.AreEqual(source, dest);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RawConnection"/> class.
        /// </summary>
        /// <param name="endPoint">The end point.</param>
        /// <param name="connectionTimeout">The connection timeout.</param>
        public RawConnection(MongoServerEndPoint endPoint,TimeSpan connectionTimeout)
        {
            if(endPoint == null)
                throw new ArgumentNullException("endPoint");

            EndPoint = endPoint;
            CreationTime = DateTime.Now;

            _client.NoDelay = true;
            _client.ReceiveTimeout = (int)connectionTimeout.TotalMilliseconds;
            _client.SendTimeout = (int)connectionTimeout.TotalMilliseconds;
            _client.Connect(EndPoint.Host, EndPoint.Port);
        }
        public void CanBeBinarySerialized()
        {
            var source = new MongoServerEndPoint("myserver", 12345);
            var formatter = new BinaryFormatter();

            var mem = new MemoryStream();
            formatter.Serialize(mem, source);
            mem.Position = 0;

            var dest = (MongoServerEndPoint)formatter.Deserialize(mem);

            Assert.AreEqual(source, dest);
        }
        public void CanBeBinarySerialized()
        {
            var source    = new MongoServerEndPoint("myserver", 12345);
            var formatter = new BinaryFormatter();

            var mem = new MemoryStream();

            formatter.Serialize(mem, source);
            mem.Position = 0;

            var dest = (MongoServerEndPoint)formatter.Deserialize(mem);

            Assert.AreEqual(source, dest);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RawConnection"/> class.
        /// </summary>
        /// <param name="endPoint">The end point.</param>
        /// <param name="connectionTimeout">The connection timeout.</param>
        /// <param name="connectionLifetime">The connection lifetime.</param>
        public RawConnection(MongoServerEndPoint endPoint,TimeSpan connectionTimeout,TimeSpan connectionLifetime)
        {
            if(endPoint == null)
                throw new ArgumentNullException("endPoint");

            EndPoint = endPoint;
            CreationTime = DateTime.UtcNow;
            Lifetime = connectionLifetime != TimeSpan.Zero ? CreationTime.Add(connectionLifetime) : DateTime.MaxValue;

            _client.NoDelay = true;
            _client.ReceiveTimeout = (int)connectionTimeout.TotalMilliseconds;
            _client.SendTimeout = (int)connectionTimeout.TotalMilliseconds;

            //Todo: custom exception?
            _client.Connect(EndPoint.Host, EndPoint.Port);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RawConnection"/> class.
        /// </summary>
        /// <param name="endPoint">The end point.</param>
        /// <param name="connectionTimeout">The connection timeout.</param>
        public RawConnection(MongoServerEndPoint endPoint, TimeSpan connectionTimeout)
        {
            if (endPoint == null)
            {
                throw new ArgumentNullException("endPoint");
            }

            EndPoint     = endPoint;
            CreationTime = DateTime.UtcNow;

            _client.NoDelay        = true;
            _client.ReceiveTimeout = (int)connectionTimeout.TotalMilliseconds;
            _client.SendTimeout    = (int)connectionTimeout.TotalMilliseconds;

            //Todo: custom exception?
            _client.Connect(EndPoint.Host, EndPoint.Port);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MongoConnectionException"/> class.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="connectionString">The connection string.</param>
 /// <param name="endPoint">The end point.</param>
 /// <param name="innerException">The inner exception.</param>
 public MongoConnectionException(string message, string connectionString, MongoServerEndPoint endPoint, Exception innerException)
     : base(message, innerException)
 {
     EndPoint = endPoint;
     ConnectionString = connectionString;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MongoConnectionException"/> class.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="connectionString">The connection string.</param>
 /// <param name="endPoint">The end point.</param>
 public MongoConnectionException(string message, string connectionString, MongoServerEndPoint endPoint)
     : this(message,connectionString,endPoint,null)
 {
 }
        /// <summary>
        ///   Adds the server.
        /// </summary>
        /// <param name = "endPoint">The end point.</param>
        public void AddServer(MongoServerEndPoint endPoint)
        {
            if(endPoint == null)
                throw new ArgumentNullException("endPoint");

            _servers.Add(endPoint);
        }