private IInternalCluster GetCluster()
        {
            var cluster  = Mock.Of <IInternalCluster>();
            var config   = GetConfig();
            var metadata = new Metadata(config)
            {
                ControlConnection = Mock.Of <IControlConnection>()
            };
            var contactPoint = new HostnameContactPoint(
                config.DnsResolver,
                config.ProtocolOptions,
                config.ServerNameResolver,
                config.KeepContactPointsUnresolved,
                "localhost");
            var connectionEndPoint = new ConnectionEndPoint(
                new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9011), config.ServerNameResolver, contactPoint);

            Mock.Get(metadata.ControlConnection).SetupGet(cc => cc.ProtocolVersion).Returns(ProtocolVersion.V4);
            Mock.Get(metadata.ControlConnection).SetupGet(cc => cc.EndPoint).Returns(connectionEndPoint);
            Mock.Get(metadata.ControlConnection).SetupGet(cc => cc.LocalAddress).Returns(new IPEndPoint(IPAddress.Parse("10.10.10.2"), 9015));
            var hostIp = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9042);

            metadata.SetResolvedContactPoints(new Dictionary <IContactPoint, IEnumerable <IConnectionEndPoint> >
            {
                { contactPoint, new [] { connectionEndPoint } }
            });
            metadata.AddHost(hostIp);
            metadata.Hosts.ToCollection().First().Datacenter = "dc123";
            Mock.Get(cluster).SetupGet(m => m.Configuration).Returns(config);
            Mock.Get(cluster).SetupGet(m => m.Metadata).Returns(metadata);
            Mock.Get(cluster).Setup(c => c.AllHosts()).Returns(metadata.AllHosts);
            return(cluster);
        }
        public ClientHandle(int id)
        {
            dataEndPoint       = new DataEndPoint();
            connectionEndPoint = new ConnectionEndPoint();

            this.id = id;
            socket  = null;
        }
示例#3
0
 public Model()
 {
     ConnectionEndPoint = new ConnectionEndPoint();
     ListeningEndpoint = new ListeningEndpoint();
     AudioTimer = ConnectionEndPoint.AudioTimer;
     ListeningEndpoint.ConnectHandler += ConnectHandler;
     ListeningEndpoint.DisconnectHandler += DisconnectHandler;
 }
示例#4
0
        public void Connect()
        {
            if (Connector == null)
            {
                Connector = CreateConnector();
                Processor = Connector.CreateProcessor();
            }

            remoteEndPoint = MakeRemoteEndPoint();

            var request = new ConnectRequest(Connector.LocalEndPoint, remoteEndPoint)
            {
                DatabaseName          = Settings.Database,
                Timeout               = Settings.QueryTimeout,
                IgnoreIdentifiersCase = Settings.IgnoreIdentifiersCase,
                ParameterStyle        = Settings.ParameterStyle,
                AutoCommit            = Settings.AutoCommit
            };

            var response = SendMessage(request) as ConnectResponse;

            if (response == null)
            {
                throw new ProtocolException("The returned message is invalid");
            }

            if (!response.Opened)
            {
                throw new DeveelDbServerException("Was not able to open the connection on the server.", -1, -1);
            }

            if (response.IsEncryted)
            {
                Connector.SetEncrypton(response.EncryptionData);
            }

            IsClosed      = false;
            ServerVersion = response.Version;
        }
示例#5
0
        public void Should_SetResolvedContactPoints_When_ClusterIsBuilt()
        {
            const string host1 = "127.0.0.1";
            const string host2 = "127.0.0.2";
            const string host3 = "localhost";

            var builder = Cluster.Builder().AddContactPoints(host1, host2, host3);
            var cluster = builder.Build();

            Assert.AreEqual(3, cluster.InternalRef.GetResolvedEndpoints().Count);
            CollectionAssert.AreEqual(
                new[] { new ConnectionEndPoint(new IPEndPoint(IPAddress.Parse(host1), ProtocolOptions.DefaultPort), cluster.Configuration.ServerNameResolver, null) },
                cluster.InternalRef.GetResolvedEndpoints().Single(kvp => kvp.Key.StringRepresentation == host1).Value);
            CollectionAssert.AreEqual(
                new[] { new ConnectionEndPoint(new IPEndPoint(IPAddress.Parse(host2), ProtocolOptions.DefaultPort), cluster.Configuration.ServerNameResolver, null) },
                cluster.InternalRef.GetResolvedEndpoints().Single(kvp => kvp.Key.StringRepresentation == host2).Value);

            var localhostAddress = new ConnectionEndPoint(new IPEndPoint(IPAddress.Parse("127.0.0.1"), ProtocolOptions.DefaultPort), cluster.Configuration.ServerNameResolver, null);

            Assert.Contains(localhostAddress, cluster.InternalRef.GetResolvedEndpoints()
                            .Single(kvp => kvp.Key.StringRepresentation == host3)
                            .Value
                            .ToList());
        }