# File lib/geoip.rb, line 225
  def initialize(filename, options = {})
    if options[:preload] || !IO.respond_to?(:pread)
      @mutex = Mutex.new
    end

    @use_pread = IO.respond_to?(:pread) && !options[:preload]
    @contents = nil
    @iter_pos = nil
    @options = options
    @database_type = Edition::COUNTRY
    @record_length = STANDARD_RECORD_LENGTH
    @file = File.open(filename, 'rb')

    detect_database_type!

    preload_data if options[:preload]
  end