changing factory size per factory

Before it was one class variable, but ints and messages are not created in equal amounts.
This commit is contained in:
2019-08-24 09:46:33 +03:00
parent 86b27ab319
commit 02261ad79d
10 changed files with 43 additions and 45 deletions

View File

@ -33,7 +33,7 @@ module Parfait
attr :type, :classes , :types , :factories
attr :true_object , :false_object , :nil_object
def initialize( classes )
def initialize( classes , pages)
self.classes = classes
self.types = Dictionary.new
classes.each do |name , cl|
@ -41,7 +41,11 @@ module Parfait
end
self.factories = Dictionary.new
[:Integer , :ReturnAddress , :Message].each do |fact_name|
factories[ fact_name ] = Factory.new( classes[fact_name].instance_type).get_more
for_type = classes[fact_name].instance_type
page_size = pages[fact_name] || 1024
factory = Factory.new( for_type , page_size )
factory.get_more
factories[ fact_name ] = factory
end
init_message_chain( factories[ :Message ].reserve )
init_message_chain( factories[ :Message ].next_object )