/// <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())); }
GetServerStorageEngine(NeoDatis.Odb.Core.Layers.Layer3.IBaseIdentification baseIdentification ) { return(new NeoDatis.Odb.Impl.Core.Server.Layers.Layer3.Engine.ServerStorageEngine (baseIdentification)); }