示例#1
0
 public void Close()
 {
     if (m_stream != null)
     {
         m_stream.Close();
         m_stream = null;
         m_memoryStream.Close();
         m_memoryStream = null;
     }
 }
示例#2
0
 public RIFStorage(IStreamHandler streamHandler, int bufferPageSize, int bufferPageCount, int tempStreamSize, ISpaceManager spaceManager, IScalabilityObjectCreator appObjectCreator, IReferenceCreator appReferenceCreator, GlobalIDOwnerCollection globalIdsFromOtherStream, bool fromExistingStream, int rifCompatVersion)
 {
     m_streamCreator            = streamHandler;
     m_scalabilityCache         = null;
     m_bufferPageSize           = bufferPageSize;
     m_bufferPageCount          = bufferPageCount;
     m_tempStreamSize           = tempStreamSize;
     m_stream                   = null;
     m_spaceManager             = spaceManager;
     m_unifiedObjectCreator     = new UnifiedObjectCreator(appObjectCreator, appReferenceCreator);
     m_referenceCreator         = new UnifiedReferenceCreator(appReferenceCreator);
     m_fromExistingStream       = fromExistingStream;
     m_globalIdsFromOtherStream = globalIdsFromOtherStream;
     m_rifCompatVersion         = rifCompatVersion;
 }
示例#3
0
 private void SetupStorage()
 {
     if (m_stream == null)
     {
         Stream stream = m_streamCreator.OpenStream();
         m_streamCreator = null;
         m_stream        = new PageBufferedStream(stream, m_bufferPageSize, m_bufferPageCount);
         m_stream.FreezePageAllocations = m_freezeAllocations;
         List <Declaration> declarations = m_unifiedObjectCreator.GetDeclarations();
         m_memoryStream = new MemoryStream(m_tempStreamSize);
         m_writer       = new IntermediateFormatWriter(m_memoryStream, declarations, m_scalabilityCache, m_rifCompatVersion);
         if (m_fromExistingStream)
         {
             m_spaceManager.StreamEnd = m_stream.Length;
             m_reader = new IntermediateFormatReader(m_stream, m_unifiedObjectCreator, m_globalIdsFromOtherStream, m_scalabilityCache, declarations, IntermediateFormatVersion.Current, PersistenceFlags.Seekable);
         }
         else
         {
             m_spaceManager.StreamEnd = m_stream.Position;
             m_reader = new IntermediateFormatReader(m_stream, m_unifiedObjectCreator, m_globalIdsFromOtherStream, m_scalabilityCache, declarations, IntermediateFormatVersion.Current, PersistenceFlags.Seekable);
         }
     }
 }