Пример #1
0
        public Server(Settings settings,
                      IMetaStorage metaStorage,
                      IBucketFactory bucketFactory,
                      IIndexStore <long, ulong> piStore)
        {
            this.piStore = piStore;

            trainBags           = new LogBins.TrainBag[settings.TrainsCount];
            trainBagsSemaphores = new SemaphoreSlim[settings.TrainsCount];

            for (int i = 0; i < trainBags.Length; ++i)
            {
                trainBags[i] = new LogBins.TrainBag((ushort)(i + 1),
                                                    bucketFactory, metaStorage,
                                                    new LogBins.BagSettings
                {
                    PerBucketMessages = 8192
                });
                trainBagsSemaphores[i] = new SemaphoreSlim(1, 1);
            }

            piStore.Load(primaryIndex);
        }