/// <exception cref="System.Exception"></exception>
        protected override void Configure(IConfiguration config)
        {
            IClientConfiguration clientConfiguration = Db4oClientServerLegacyConfigurationBridge
                                                       .AsClientConfiguration(config);

            clientConfiguration.PrefetchSlotCacheSize = SlotCacheSize;
        }
예제 #2
0
        private void Connect()
        {
            const int retryCount = 20; // With 20 retries we'll wait at most 11 seconds until fail.
            var       exceptions = new Stack <Exception>();

            _client = null;
            long timeToWait = 100;

            for (var i = 0; i < retryCount; ++i)
            {
                try
                {
                    var clientConfiguration = Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration(Config());
                    _client = Db4oClientServer.OpenClient(clientConfiguration, "localhost", Port, USER_NAME, USER_PWD);
                    return;
                }
                catch (Exception e)
                {
                    if (NotTheSameAsLast(e, exceptions))
                    {
                        exceptions.Push(e);
                    }
                }
                Runtime4.Sleep(timeToWait);
                if (i == 10)
                {
                    timeToWait = 1000;
                }
            }

            FailConnect(retryCount, exceptions);
        }
예제 #3
0
        public void Prepare(IConfiguration configuration)
        {
            var networkConfig        = Db4oClientServerLegacyConfigurationBridge.AsNetworkingConfiguration(configuration);
            var currentSocketFactory = networkConfig.SocketFactory;

            networkConfig.SocketFactory = new MonitoredSocket4Factory(currentSocketFactory);
        }
예제 #4
0
        /// <exception cref="System.Exception"></exception>
        protected override void Configure(IConfiguration config)
        {
            var clientConfiguration = Db4oClientServerLegacyConfigurationBridge
                                      .AsClientConfiguration(config);

            clientConfiguration.PrefetchDepth       = 3;
            clientConfiguration.PrefetchObjectCount = 3;
        }
예제 #5
0
 public override void Open()
 {
     Config().MessageLevel(-1);
     _server = Db4oClientServer.OpenServer(Db4oClientServerLegacyConfigurationBridge.AsServerConfiguration
                                               (CloneConfiguration()), testFile.GetPath(), _port);
     _server.GrantAccess(Username, Password);
     _db = Db4oClientServer.OpenClient(Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration
                                           (CloneConfiguration()), Host, _port, Username, Password).Ext();
     _provider = Db4oProviderFactory.NewInstance(_db, _name);
 }
예제 #6
0
 public ClientObjectContainer(ClientConfigurationImpl config, Socket4Adapter socket
                              , string user, string password, bool login) : base(Db4oClientServerLegacyConfigurationBridge
                                                                                 .AsLegacy(config))
 {
     // Db4o.registerClientConstructor(new ClientConstructor());
     _userName        = user;
     _password        = password;
     _login           = login;
     _heartbeat       = new ClientHeartbeat(this);
     _classInfoHelper = new ClassInfoHelper(Db4oClientServerLegacyConfigurationBridge.
                                            AsLegacy(config));
     SetAndConfigSocket(socket);
     Open();
     config.ApplyConfigurationItems(this);
 }
        private ObjectServerImpl(LocalObjectContainer container, ServerConfigurationImpl
                                 serverConfig, int port, bool isEmbeddedServer)
        {
            _isEmbeddedServer = isEmbeddedServer;
            _container        = container;
            _serverConfig     = serverConfig;
            _socketFactory    = serverConfig.Networking.SocketFactory;
            _transactionPool  = new ClientTransactionPool(container);
            _port             = port;
            _name             = "db4o ServerSocket FILE: " + container.ToString() + "  PORT:" + _port;
            _container.SetServer(true);
            ConfigureObjectServer();
            _classInfoHelper = new Db4objects.Db4o.CS.Internal.ClassInfoHelper(Db4oClientServerLegacyConfigurationBridge
                                                                               .AsLegacy(serverConfig));
            _container.ClassCollection().CheckAllClassChanges();
            bool ok = false;

            try
            {
                EnsureLoadStaticClass();
                StartCommittedCallbackThread(_committedInfosQueue);
                StartServer();
                if (_serverConfig != null)
                {
                    _serverConfig.ApplyConfigurationItems(this);
                }
                ok = true;
            }
            finally
            {
                if (!ok)
                {
                    Close();
                }
            }
        }
        public void ConfigureClient(IConfiguration config)
        {
            IClientConfiguration clientConfig = Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration(config);

            clientConfig.AddConfigurationItem(new ClientSslSupport(ValidateServerCertificate));
        }
        public void ConfigureServer(IConfiguration config)
        {
            IServerConfiguration serverConfig = Db4oClientServerLegacyConfigurationBridge.AsServerConfiguration(config);

            serverConfig.AddConfigurationItem(new ServerSslSupport(ServerCertificate()));
        }
예제 #10
0
 protected virtual IObjectServer OpenServer(IConfiguration config)
 {
     return(Db4oClientServer.OpenServer(Db4oClientServerLegacyConfigurationBridge.AsServerConfiguration
                                            (config), "nofile", unchecked (0xdb40)));
 }
 public virtual IConfiguration Configure()
 {
     return(Db4oClientServerLegacyConfigurationBridge.AsLegacy(_serverConfig));
 }
 private IClientConfiguration CreateClientConfiguration()
 {
     return(Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration(CreateConfiguration
                                                                                ()));
 }
예제 #13
0
 private IServerConfiguration AsServerConfiguration(IConfiguration serverConfig)
 {
     return(Db4oClientServerLegacyConfigurationBridge.AsServerConfiguration(serverConfig
                                                                            ));
 }
예제 #14
0
 private IObjectContainer OpenClient(string user, string password)
 {
     return(Db4oClientServer.OpenClient(Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration
                                            (Config()), ServerHostname, ClientServerFixture().ServerPort(), user, password));
 }
예제 #15
0
 protected virtual IObjectContainer OpenClient(IConfiguration config, string host,
                                               int port, string user, string password)
 {
     return(Db4oClientServer.OpenClient(Db4oClientServerLegacyConfigurationBridge.AsClientConfiguration
                                            (config), host, port, user, password));
 }
예제 #16
0
 protected virtual IObjectServer OpenServer(IConfiguration config, string databaseFileName
                                            , int port)
 {
     return(Db4oClientServer.OpenServer(Db4oClientServerLegacyConfigurationBridge.AsServerConfiguration
                                            (config), databaseFileName, port));
 }