/// <summary> /// This constructor loads a Word document from a specific point in a POIFSFileSystem, probably not the default.Used typically to open embeded documents. /// </summary> /// <param name="directory">The POIFSFileSystem that Contains the Word document.</param> /// <param name="pfilesystem">If there is an unexpected IOException from the passed in POIFSFileSystem.</param> public HWPFDocumentCore(DirectoryNode directory) : base(directory) { // Sort out the hpsf properties // read in the main stream. DocumentEntry documentProps = (DocumentEntry) directory.GetEntry(STREAM_WORD_DOCUMENT); _mainStream = new byte[documentProps.Size]; directory.CreatePOIFSDocumentReader(STREAM_WORD_DOCUMENT).Read(_mainStream); // Create our FIB, and check for the doc being encrypted _fib = new FileInformationBlock(_mainStream); if (_fib.IsFEncrypted()) { throw new EncryptedDocumentException("Cannot process encrypted word files!"); } DirectoryEntry objectPoolEntry; try { objectPoolEntry = (DirectoryEntry)directory.GetEntry(STREAM_OBJECT_POOL); } catch (FileNotFoundException exc) { objectPoolEntry = null; } _objectPool = new ObjectPoolImpl(objectPoolEntry); }
IEnumerator Start() { SetUpKeyController(); var config = new ObjectPoolConfig( numberOfInstances: numberOfInstances, createCountPerFrame: 1, needPreactivation: needPreactivation ); var objectPool = new ObjectPoolImpl(id, prefab, config); ObjectPoolManager.Instance.RegisterPool(id, objectPool); yield return(ObjectPoolManager.Instance.PreloadAsync().ToYieldInstruction()); yield return(ObjectPoolManager.Instance.PreactivateAsync().ToYieldInstruction()); Debug.Log("OnLoaded"); }
public void Run() { for (var i = 0; i < 10; i++) { Console.WriteLine("Run " + i + ": "); using (new UsingTimer(x => Console.WriteLine("Pool: " + x.ElapsedTime.TotalMilliseconds))) { ObjectPool <object> pool = new ObjectPoolImpl <object>(() => new object()); RunBenchmark(pool.TakeObject, pool.ReturnObject); } using (new UsingTimer(x => Console.WriteLine("Queue: " + x.ElapsedTime.TotalMilliseconds))) { IConcurrentQueue <object> queue = new ConcurrentQueue <object>(); RunBenchmark(() => { object result; if (!queue.TryDequeue(out result)) { result = new object(); } return(result); }, queue.Enqueue); } } }
protected IObjectPool <T> CreatePool <T>(T prefab, ObjectPoolConfig config) where T : PoolManagedBehaviour { var objectPool = new ObjectPoolImpl(IdGenerator.Generate(), prefab, config, hierarchyParent); return(new ObjectPoolWrapper <T>(objectPool)); }