Exemplo n.º 1
0
        private static async void LaunchServer()
        {
            var host = new ProtocolHost();

            host.LoadFromReference <Program>();

            var dbOptions = new DbOptions();

            dbOptions.SetCreateIfMissing();
            var rocksDb = RocksDbSharp.RocksDb.Open(dbOptions, @"C:\rocks\primaryservicetest\");

            host.Resolver.Register(rocksDb, false);

            var primaryRepository = new RocksPrimaryRepository(rocksDb, nameof(TestEntity));

            primaryRepository.WriteOptions.SetSync(false);
            host.Resolver.Register(primaryRepository);

            var indexMaps = new IndexMapProvider <TestEntity>();

            host.Resolver.Register(indexMaps);

            indexMaps.AddScoreIndex(e => e.Score, IndexLevel.Entity, OrderType.Asc | OrderType.Desc);

            host.RegisterHandler <PrimaryRepositoryService <TestEntity> >(true);

            var serverTask = host.StartServerAsync("127.0.0.1", 8080, CancellationToken.None);

            Console.WriteLine("Service Started");
        }
Exemplo n.º 2
0
        private void SetMapProvider(bool readOnly)
        {
            int         count    = m_mapProvider.m_count;
            MapProvider provider = m_mapProvider;

            if (readOnly)
            {
                SortedMapProvider pr = m_mapProvider as SortedMapProvider;
                if (pr.m_lastKey <= MAXINDEX)
                {
                    provider = new IndexMapProvider();
                }
                else if (count <= MAXARRAYCOUNT)
                {
                    provider = new ArrayMapProvider(m_mapProvider.m_count);
                }
            }
            else
            {
                if (!(provider is SortedMapProvider))
                {
                    provider = new SortedMapProvider(m_mapProvider.m_count);
                }
            }
            if (provider != m_mapProvider)
            {
                for (int i = 0; i < count; i++)
                {
                    Entry entry = m_mapProvider.GetEntry(i);
                    provider.Add(entry.Key, entry.Value);
                }
                m_mapProvider = provider;
            }
        }
Exemplo n.º 3
0
 private void SetMapProvider(bool readOnly)
 {
     int count = m_mapProvider.m_count;
     MapProvider provider = m_mapProvider;
     if (readOnly)
     {
         SortedMapProvider pr = m_mapProvider as SortedMapProvider;
         if (pr.m_lastKey <= MAXINDEX)
         {
             provider = new IndexMapProvider();
         }
         else if (count <= MAXARRAYCOUNT)
         {
             provider = new ArrayMapProvider(m_mapProvider.m_count);
         }
     }
     else
     {
         if (! (provider is SortedMapProvider))
         {
             provider = new SortedMapProvider(m_mapProvider.m_count);
         }
     }
     if (provider != m_mapProvider)
     {
         for (int i = 0; i < count; i++)
         {
             Entry entry = m_mapProvider.GetEntry(i);
             provider.Add(entry.Key, entry.Value);
         }
         m_mapProvider = provider;
     }
 }
Exemplo n.º 4
0
		private void SetMapProvider(Boolean readOnly)
		{
			Int32 count = m_MapProvider.Count;
			MapProvider provider = m_MapProvider;
			if (readOnly)
			{
				var pr = (SortedMapProvider)m_MapProvider;
				if (pr.LastKey <= MAXINDEX)
				{
					provider = new IndexMapProvider();
				}
				else if (count <= MAXARRAYCOUNT)
				{
					provider = new ArrayMapProvider(m_MapProvider.Count);
				}
			}
			else
			{
				if (!(provider is SortedMapProvider))
				{
					provider = new SortedMapProvider(m_MapProvider.Count);
				}
			}
			if (provider != m_MapProvider)
			{
				for (Int32 i = 0; i < count; i++)
				{
					Entry entry = m_MapProvider.GetEntry(i);
					provider.Add(entry.Key, entry.Value);
				}
				m_MapProvider = provider;
			}
		}