Esempio n. 1
0
        public DataContainer(ITracer tracer, DataContainerDescriptor dataContainerDescriptor, string storageRoot)
        {
            if (tracer == null)
            {
                throw new ArgumentNullException("tracer");
            }

            if (dataContainerDescriptor == null)
            {
                throw new ArgumentNullException("dataContainerDescriptor");
            }

            // intentionally allowed to be null - in case if we don't want to use any persistence
            m_storageRoot = storageRoot;
            m_tracer      = tracer;
            m_memoryPool  = new DynamicMemoryPool();

            m_dataContainerDescriptor    = dataContainerDescriptor;
            m_documentDataContainers     = new Dictionary <int, DocumentDataContainer>(50);
            m_documentDataContainerLocks = new Dictionary <int, object>(50);

            foreach (var item in dataContainerDescriptor.EnumerateDocumentTypes())
            {
                m_documentDataContainerLocks.Add(item.DocumentType, new object());
            }
        }
Esempio n. 2
0
        public DataContainerStats GetStats()
        {
            CheckHaveDescriptor();
            var stats = new DataContainerStats();

            foreach (var doc in m_descriptor.EnumerateDocumentTypes())
            {
                stats.SetDocumentCount(doc.DocumentType, m_dataContainer.RequireDocumentContainer(doc.DocumentType).UntrimmedCount);
            }

            return(stats);
        }