public override IdGenerator Open(File fileName, int grabSize, IdType idType, System.Func <long> highId, long maxId)
        {
            IdTypeConfiguration idTypeConfiguration = _idTypeConfigurationProvider.getIdTypeConfiguration(idType);
            IdGenerator         generator           = Instantiate(_fs, fileName, grabSize, maxId, idTypeConfiguration.AllowAggressiveReuse(), idType, highId);

            _generators[idType] = generator;
            return(generator);
        }
Beispiel #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void reusableTypeConfiguration()
        public virtual void ReusableTypeConfiguration()
        {
            IdTypeConfigurationProvider provider          = CreateIdTypeProvider();
            IdTypeConfiguration         typeConfiguration = provider.GetIdTypeConfiguration(_reusableType);

            assertTrue(typeConfiguration.AllowAggressiveReuse());
            assertEquals(50000, typeConfiguration.GrabSize);
        }
Beispiel #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test public void nonReusableTypeConfiguration()
        public virtual void NonReusableTypeConfiguration()
        {
            IdTypeConfigurationProvider provider          = CreateIdTypeProvider();
            IdTypeConfiguration         typeConfiguration = provider.GetIdTypeConfiguration(IdType.SCHEMA);

            assertFalse("Schema record ids are not reusable.", typeConfiguration.AllowAggressiveReuse());
            assertEquals("Schema record ids are not reusable.", 1024, typeConfiguration.GrabSize);
        }
Beispiel #4
0
            public override IdGenerator Open(File fileName, int grabSize, IdType idType, System.Func <long> highId, long maxId)
            {
                IdGenerator generator = Generators[idType];

                if (generator == null)
                {
                    IdTypeConfiguration idTypeConfiguration = IdTypeConfigurationProvider.getIdTypeConfiguration(idType);
                    generator          = new EphemeralIdGenerator(idType, idTypeConfiguration);
                    Generators[idType] = generator;
                }
                return(generator);
            }
Beispiel #5
0
 public override IdGenerator open(File fileName, int grabSize, IdType idType, System.Func <long> highId, long maxId)
 {
     if (idType == IdType.LABEL_TOKEN)
     {
         IdGenerator generator = generators.get(idType);
         if (generator == null)
         {
             IdTypeConfiguration idTypeConfiguration = idTypeConfigurationProvider.getIdTypeConfiguration(idType);
             generator = new EphemeralIdGeneratorAnonymousInnerClass(this, idType, idTypeConfiguration);
             generators.put(idType, generator);
         }
         return(generator);
     }
     return(base.open(fileName, grabSize, idType, () => long.MaxValue, long.MaxValue));
 }
        public override IdGenerator Open(File filename, int grabSize, IdType idType, System.Func <long> highId, long maxId)
        {
            Debug.Assert(_boundaries != null, "Factory needs to be initialized before usage");

            IdGenerator         generator         = @delegate.Open(filename, grabSize, idType, highId, maxId);
            IdTypeConfiguration typeConfiguration = GetIdTypeConfiguration(idType);

            if (typeConfiguration.AllowAggressiveReuse())
            {
                BufferingIdGenerator bufferingGenerator = new BufferingIdGenerator(generator);
                bufferingGenerator.Initialize(_boundaries, _safeThreshold);
                _overriddenIdGenerators[( int )idType] = bufferingGenerator;
                generator = bufferingGenerator;
            }
            return(generator);
        }
Beispiel #7
0
 public EphemeralIdGeneratorAnonymousInnerClass(FactoryAnonymousInnerClass outerInstance, IdType idType, IdTypeConfiguration idTypeConfiguration) : base(idType, idTypeConfiguration)
 {
     this.outerInstance = outerInstance;
 }
        public override IdGenerator Open(File filename, IdType idType, System.Func <long> highId, long maxId)
        {
            IdTypeConfiguration idTypeConfiguration = _idTypeConfigurationProvider.getIdTypeConfiguration(idType);

            return(Open(filename, idTypeConfiguration.GrabSize, idType, highId, maxId));
        }
Beispiel #9
0
        public override IdGenerator Open(File fileName, int grabSize, IdType idType, System.Func <long> highId, long maxId)
        {
            IdTypeConfiguration idTypeConfiguration = _idTypeConfigurationProvider.getIdTypeConfiguration(idType);

            return(OpenGenerator(fileName, grabSize, idType, highId, maxId, idTypeConfiguration.AllowAggressiveReuse()));
        }
Beispiel #10
0
 public EphemeralIdGenerator(IdType idType, IdTypeConfiguration idTypeConfiguration)
 {
     this._idType   = idType;
     this._freeList = idType != null && idTypeConfiguration.AllowAggressiveReuse() ? new ConcurrentLinkedQueue <long>() : null;
 }