Class: Resolv::DNS::Resource::LOC
- Inherits:
-
Resolv::DNS::Resource
- Object
- Query
- Resolv::DNS::Resource
- Resolv::DNS::Resource::LOC
- Defined in:
- lib/logstash/patches/resolv_9270.rb
Overview
Location resource
Constant Summary collapse
- TypeValue =
:nodoc:
29
Constants inherited from Resolv::DNS::Resource
ClassHash, ClassInsensitiveTypes, ClassValue
Instance Attribute Summary collapse
-
#altitude ⇒ Object
readonly
The altitude of the LOC above a reference sphere whose surface sits 100km below the WGS84 spheroid in centimeters as an unsigned 32bit integer.
-
#hprecision ⇒ Object
readonly
The horizontal precision using ssize type values in meters using scientific notation as 2 integers of XeY for precision use value/2 e.g.
-
#latitude ⇒ Object
readonly
The latitude for this LOC where 2**31 is the equator in thousandths of an arc second as an unsigned 32bit integer.
-
#longitude ⇒ Object
readonly
The longitude for this LOC where 2**31 is the prime meridian in thousandths of an arc second as an unsigned 32bit integer.
-
#ssize ⇒ Object
readonly
The spherical size of this LOC in meters using scientific notation as 2 integers of XeY.
-
#version ⇒ Object
readonly
Returns the version value for this LOC record which should always be 00.
-
#vprecision ⇒ Object
readonly
The vertical precision using ssize type values in meters using scientific notation as 2 integers of XeY for precision use value/2 e.g.
Attributes inherited from Resolv::DNS::Resource
Class Method Summary collapse
-
.decode_rdata(msg) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#encode_rdata(msg) ⇒ Object
:nodoc:.
-
#initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude) ⇒ LOC
constructor
A new instance of LOC.
Methods inherited from Resolv::DNS::Resource
Constructor Details
#initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude) ⇒ LOC
Returns a new instance of LOC.
2072 2073 2074 2075 2076 2077 2078 2079 2080 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2072 def initialize(version, ssize, hprecision, vprecision, latitude, longitude, altitude) @version = version @ssize = Resolv::LOC::Size.create(ssize) @hprecision = Resolv::LOC::Size.create(hprecision) @vprecision = Resolv::LOC::Size.create(vprecision) @latitude = Resolv::LOC::Coord.create(latitude) @longitude = Resolv::LOC::Coord.create(longitude) @altitude = Resolv::LOC::Alt.create(altitude) end |
Instance Attribute Details
#altitude ⇒ Object (readonly)
The altitude of the LOC above a reference sphere whose surface sits 100km below the WGS84 spheroid in centimeters as an unsigned 32bit integer
2123 2124 2125 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2123 def altitude @altitude end |
#hprecision ⇒ Object (readonly)
The horizontal precision using ssize type values in meters using scientific notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
2098 2099 2100 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2098 def hprecision @hprecision end |
#latitude ⇒ Object (readonly)
The latitude for this LOC where 2**31 is the equator in thousandths of an arc second as an unsigned 32bit integer
2111 2112 2113 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2111 def latitude @latitude end |
#longitude ⇒ Object (readonly)
The longitude for this LOC where 2**31 is the prime meridian in thousandths of an arc second as an unsigned 32bit integer
2117 2118 2119 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2117 def longitude @longitude end |
#ssize ⇒ Object (readonly)
The spherical size of this LOC in meters using scientific notation as 2 integers of XeY
2091 2092 2093 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2091 def ssize @ssize end |
#version ⇒ Object (readonly)
Returns the version value for this LOC record which should always be 00
2085 2086 2087 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2085 def version @version end |
#vprecision ⇒ Object (readonly)
The vertical precision using ssize type values in meters using scientific notation as 2 integers of XeY for precision use value/2 e.g. 2m = +/-1m
2105 2106 2107 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2105 def vprecision @vprecision end |
Class Method Details
.decode_rdata(msg) ⇒ Object
:nodoc:
2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2136 def self.decode_rdata(msg) # :nodoc: version = msg.get_bytes(1) ssize = msg.get_bytes(1) hprecision = msg.get_bytes(1) vprecision = msg.get_bytes(1) latitude = msg.get_bytes(4) longitude = msg.get_bytes(4) altitude = msg.get_bytes(4) return self.new( version, Resolv::LOC::Size.new(ssize), Resolv::LOC::Size.new(hprecision), Resolv::LOC::Size.new(vprecision), Resolv::LOC::Coord.new(latitude,"lat"), Resolv::LOC::Coord.new(longitude,"lon"), Resolv::LOC::Alt.new(altitude) ) end |
Instance Method Details
#encode_rdata(msg) ⇒ Object
:nodoc:
2126 2127 2128 2129 2130 2131 2132 2133 2134 |
# File 'lib/logstash/patches/resolv_9270.rb', line 2126 def encode_rdata(msg) # :nodoc: msg.put_bytes(@version) msg.put_bytes(@ssize.scalar) msg.put_bytes(@hprecision.scalar) msg.put_bytes(@vprecision.scalar) msg.put_bytes(@latitude.coordinates) msg.put_bytes(@longitude.coordinates) msg.put_bytes(@altitude.altitude) end |