Class: IPIP::IPv4Database
- Inherits:
-
Object
- Object
- IPIP::IPv4Database
- Defined in:
- lib/ipip/ipv4_database.rb
Overview
Database for search IPv4 address.
The IPIP.net data file(17monipdb.dat) format in bytes::
---------------------------
| 4 bytes | <- offset number
---------------------------
| 256 * 4 bytes | <- first ip number index
---------------------------
| offset - 1024 - 4 bytes | <- ip index
---------------------------
| data storage |
---------------------------
Constant Summary collapse
- OFFSET_NUMBER_SIZE =
4- FIRST_IP_NUMBER_INDEX_SIZE =
256 * 4
- IP_BLOCK_SIZE =
8- DEFAULT_DATA_FILE =
File.("../17monipdb.dat", __FILE__)
Instance Method Summary collapse
- #find(ip) ⇒ Object
-
#initialize(data_file = nil) ⇒ IPv4Database
constructor
A new instance of IPv4Database.
Constructor Details
#initialize(data_file = nil) ⇒ IPv4Database
Returns a new instance of IPv4Database.
27 28 29 |
# File 'lib/ipip/ipv4_database.rb', line 27 def initialize(data_file=nil) @data_file = data_file || DEFAULT_DATA_FILE end |
Instance Method Details
#find(ip) ⇒ Object
31 32 33 34 |
# File 'lib/ipip/ipv4_database.rb', line 31 def find(ip) ip = IPSocket::getaddress(ip) lookup_ipv4(ip) end |