Exemple #1
0
 /*----------------------------------------------------------------------------
 *       %%Function: BufferedStreamEx
 *       %%Qualified: TCore.StreamEx.BufferedStreamEx.BufferedStreamEx
 *       %%Contact: rlittle
 *
 *  ----------------------------------------------------------------------------*/
 public BufferedStreamEx(Stream stm, long ibFileStart, long ibFileLim, long cbSwapBuffer = 1024)
 {
     m_stm         = stm;
     m_ibFileStart = ibFileStart;
     m_ibFileLim   = ibFileLim;
     m_stm.Seek(m_ibFileStart, SeekOrigin.Begin);
     m_bufferMain = new SwapBuffer(m_stm, ibFileLim, cbSwapBuffer);
     m_bufferSwap = new SwapBuffer(m_stm, ibFileLim, cbSwapBuffer);
 }
Exemple #2
0
        /*----------------------------------------------------------------------------
        *   %%Function: BufferedStreamEx
        *   %%Qualified: TCore.SreamFix.BufferedStreamEx
        *   %%Contact: rlittle
        *
        *   Create a new BufferedStreamEx, noting the starting offset and the offset
        *   lim we can read to.
        *
        *   The file is opened Read only, allowing ReadWrite share opening (to allow
        *   the other thread to open the file read/write)
        *  ----------------------------------------------------------------------------*/
        public BufferedStreamEx(string sFilename, long ibFileStart, long ibFileLim)
        {
            FileStream m_fs = new FileStream(sFilename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

            m_stm = m_fs;

            m_ibFileStart = ibFileStart;
            m_ibFileLim   = ibFileLim;
            m_stm.Seek(m_ibFileStart, SeekOrigin.Begin);
            m_bufferMain = new SwapBuffer(m_stm, ibFileLim);
            m_bufferSwap = new SwapBuffer(m_stm, ibFileLim);
        }