Ejemplo n.º 1
0
 public InfiniteArray(long initialOffset, InfiniteArrayOptions infiniteArrayOptions)
 {
     blockLength       = infiniteArrayOptions.BlockLength;
     dataListCapacity  = infiniteArrayOptions.DataListCapacity;
     minimumFreeBlocks = infiniteArrayOptions.MinimumFreeBlocks;
     offset            = initialOffset;
     data = new List <T[]>(dataListCapacity);
     NumberDataListAllocations = 1;
     data.Add(new T[blockLength]);
     NumberOfBlockAllocations = 1;
     firstFreeBlockIndex      = 0;
     firstBusyBlockIndex      = 0;
     firstItemIndexInBlock    = 0;
     firstFreeIndexInBlock    = 0;
 }
Ejemplo n.º 2
0
 internal Topic(string name, IPersistentStorage persistentStorage,
                ISubscriptionsConfigurationStorage subscriptionsConfigurationStorage,
                ISubscriptionPointersStorage subscriptionPointersStorage,
                TopicOptions topicOptions)
 {
     this.name = name;
     this.persistentStorage = persistentStorage;
     this.subscriptionsConfigurationStorage = subscriptionsConfigurationStorage;
     this.subscriptionPointersStorage       = subscriptionPointersStorage;
     persistenceIntervalMilliseconds        = topicOptions.PersistenceIntervalMilliseconds;
     persistenceMaxFails = topicOptions.PersistenceMaxFails;
     cleanupMaxFails     = topicOptions.CleanupMaxFails;
     subscriptionPointersFlushMaxFails = topicOptions.SubscriptionPointersFlushMaxFails;
     dataArrayOptions               = new InfiniteArrayOptions(topicOptions.DataArrayOptions);
     writers                        = new HashSet <TopicWriter>();
     subscriptions                  = new Dictionary <string, Subscription>();
     cancellationTokenSource        = new CancellationTokenSource();
     lastFreeToId                   = 1;
     stopping                       = false;
     persistenceFails               = 0;
     cleanupFails                   = 0;
     subscriptionPointersFlushFails = 0;
 }