/// <summary> /// TODO Return a list of IO to enable replication or other IO mechanism Used /// by the FileSystemInterface to actual write/read byte to underlying /// storage /// </summary> /// <param name="name">The name of the buffered io</param> /// <param name="parameters">The parameters that define the buffer</param> /// <param name="bufferSize">The size of the buffers</param> /// <returns>The buffer implementation @</returns> public virtual NeoDatis.Odb.Core.Layers.Layer3.IBufferedIO GetIO(string name, NeoDatis.Odb.Core.Layers.Layer3.IBaseIdentification parameters, int bufferSize) { if (parameters is NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter) { NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter fileParameters = (NeoDatis.Odb.Core.Layers.Layer3.IOFileParameter )parameters; // Guarantee that file directory structure exist NeoDatis.Tool.Wrappers.IO.OdbFile f = new NeoDatis.Tool.Wrappers.IO.OdbFile(fileParameters .GetFileName()); NeoDatis.Tool.Wrappers.IO.OdbFile fparent = f.GetParentFile(); if (fparent != null && !fparent.Exists()) { fparent.Mkdirs(); } return(new NeoDatis.Odb.Impl.Core.Layers.Layer3.Buffer.MultiBufferedFileIO(NeoDatis.Odb.OdbConfiguration .GetNbBuffers(), name, fileParameters.GetFileName(), fileParameters.CanWrite(), bufferSize)); } throw new NeoDatis.Odb.ODBRuntimeException(NeoDatis.Odb.Core.NeoDatisError.UnsupportedIoType .AddParameter(parameters.ToString())); }
private void Connect() { // odb = ODBFactory.Open(Profile.Path); OdbConfiguration.SetCheckModelCompatibility(false); OdbConfiguration.SetAutomaticallyIncreaseCacheSize(true); // var fileParameter = new IOFileParameter(Profile.Path, false, "test", "test"); var fileParameter = new IOFileParameter(Profile.Path, true, null, null); // ICoreProvider coreProvider = OdbConfiguration.GetCoreProvider(); var coreProvider = new ExtendedCoreProvider(); storageEngine = coreProvider.GetClientStorageEngine(fileParameter); }