Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TripleBuffer"/> class.
        /// </summary>
        /// <param name="numberOfPages">The number of pages the buffer consists of.</param>
        /// <param name="triplesPerPage">The size of each page, denoting the number of triples that can be stored.</param>
        public TripleBuffer(int numberOfPages, int triplesPerPage)
        {
            m_numPages = numberOfPages;
            m_pageSize = triplesPerPage;
            m_pages    = new TriplePage[numberOfPages];

            for (int i = 0; i < numberOfPages; i++)
            {
                m_pages[i] = new TriplePage(triplesPerPage);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Reads from a given triple cursor and stores the read triples in a triple buffer page.
 /// This will attempt to read a much triples as fit on the given page.
 /// </summary>
 /// <param name="cursor">The triple cursor.</param>
 /// <param name="page">The triple buffer page.</param>
 private static void ReadToPage(TripleCursor cursor, TriplePage page)
 {
     page.Clear();
     for (int i = 0; i < page.Size; i++)
     {
         if (!cursor.HasNext)
         {
             break;
         }
         else
         {
             page[i] = cursor.Next();
         }
     }
 }