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(); } } }
/// <exception cref="Db4objects.Db4o.Ext.OldFormatException"></exception> public static FileHeader Read(LocalObjectContainer file) { ByteArrayBuffer reader = PrepareFileHeaderReader(file); FileHeader header = DetectFileHeader(file, reader); if (header == null) { Exceptions4.ThrowRuntimeException(Db4objects.Db4o.Internal.Messages.IncompatibleFormat , file.ToString()); } else { header.Read(file, reader); } return header; }