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