Exemplo n.º 1
0
        static IPersistence Connect()
        {
            var options = new InMemoryPersistenceOptions
            {
                NetworkSimulator = new ReliableNetworkSimulator(10, 50)
            };

            return(new InMemoryPersistence(options));
        }
Exemplo n.º 2
0
        protected IPersistence Create(bool dropOnInit)
        {
            var options = new InMemoryPersistenceOptions
            {
                CloneFunc = Clone,
            };

            return(new InMemoryPersistence(options));
        }
Exemplo n.º 3
0
        protected IPersistence CreatePersistence()
        {
            networkSimulator = new AlwaysThrowsNetworkSimulator();
            var options = new InMemoryPersistenceOptions
            {
                NetworkSimulator = networkSimulator
            };
            var persistence = new InMemoryPersistence(options);

            return(persistence);
        }
Exemplo n.º 4
0
        static IPersistence BuildStore(string store)
        {
            Console.WriteLine($"Selected store is {store}");

            switch (store.ToLowerInvariant())
            {
            case "memory":
            {
                var network = new ReliableNetworkSimulator(2, 10);
                var options = new InMemoryPersistenceOptions
                {
                    CloneFunc        = ObjectSerializer.Clone,
                    NetworkSimulator = network
                };
                return(new InMemoryPersistence(options));
            }

            case "mongo":
            {
                var options = new MongoPersistenceOptions
                {
                    PartitionsConnectionString = Mongo,
                    UseLocalSequence           = true,
                    PartitionsCollectionName   = "partitions",
                    SequenceCollectionName     = "seq",
                    DropOnInit                 = true,
                    MongoPayloadSerializer     = new DiagnosticSerializerWrapper(new MongoCustomMongoPayloadSerializer()),
                    CustomizePartitionSettings = settings =>
                    {
                        settings.MaxConnectionPoolSize = 5000;
                    }
                };
                var mongo = new MongoPersistence(options);
                mongo.InitAsync(CancellationToken.None).GetAwaiter().GetResult();
                return(mongo);
            }
            }

            throw new Exception($"Invalid store {store}");
        }