Class: Net::NTP::Response
- Inherits:
-
Object
- Object
- Net::NTP::Response
- Defined in:
- lib/net/ntp/ntp.rb
Instance Method Summary collapse
-
#initialize(raw_data) ⇒ Response
constructor
A new instance of Response.
- #leap_indicator ⇒ Object
- #leap_indicator_text ⇒ Object
- #mode ⇒ Object
- #mode_text ⇒ Object
- #originate_timestamp ⇒ Object
- #poll_interval ⇒ Object
- #precision ⇒ Object
- #receive_timestamp ⇒ Object
- #reference_clock_identifier ⇒ Object
- #reference_clock_identifier_text ⇒ Object
- #reference_timestamp ⇒ Object
- #root_delay ⇒ Object
- #root_dispersion ⇒ Object
- #stratum ⇒ Object
- #stratum_text ⇒ Object
- #time ⇒ Object
- #transmit_timestamp ⇒ Object
- #version_number ⇒ Object
Constructor Details
#initialize(raw_data) ⇒ Response
Returns a new instance of Response.
101 102 103 104 |
# File 'lib/net/ntp/ntp.rb', line 101 def initialize(raw_data) @raw_data = raw_data @client_time_receive = Time.new.to_i end |
Instance Method Details
#leap_indicator ⇒ Object
106 107 108 |
# File 'lib/net/ntp/ntp.rb', line 106 def leap_indicator @leap_indicator ||= (packet_data_by_field[:byte1][0] & 0xC0) >> 6 end |
#leap_indicator_text ⇒ Object
110 111 112 |
# File 'lib/net/ntp/ntp.rb', line 110 def leap_indicator_text @leap_indicator_text ||= LEAP_INDICATOR[leap_indicator] end |
#mode ⇒ Object
118 119 120 |
# File 'lib/net/ntp/ntp.rb', line 118 def mode @mode ||= (packet_data_by_field[:byte1][0] & 0x07) end |
#mode_text ⇒ Object
122 123 124 |
# File 'lib/net/ntp/ntp.rb', line 122 def mode_text @mode_text ||= MODE[mode] end |
#originate_timestamp ⇒ Object
162 163 164 |
# File 'lib/net/ntp/ntp.rb', line 162 def @originate_timestamp ||= (packet_data_by_field[:org_time] + bin2frac(packet_data_by_field[:org_time_fb])) end |
#poll_interval ⇒ Object
134 135 136 |
# File 'lib/net/ntp/ntp.rb', line 134 def poll_interval @poll_interval ||= packet_data_by_field[:poll] end |
#precision ⇒ Object
138 139 140 |
# File 'lib/net/ntp/ntp.rb', line 138 def precision @precision ||= packet_data_by_field[:precision] - 255 end |
#receive_timestamp ⇒ Object
166 167 168 |
# File 'lib/net/ntp/ntp.rb', line 166 def @receive_timestamp ||= ((packet_data_by_field[:recv_time] + bin2frac(packet_data_by_field[:recv_time_fb])) - NTP_ADJ) end |
#reference_clock_identifier ⇒ Object
150 151 152 |
# File 'lib/net/ntp/ntp.rb', line 150 def reference_clock_identifier @reference_clock_identifier ||= unpack_ip(packet_data_by_field[:stratum], packet_data_by_field[:ident]) end |
#reference_clock_identifier_text ⇒ Object
154 155 156 |
# File 'lib/net/ntp/ntp.rb', line 154 def reference_clock_identifier_text @reference_clock_identifier_text ||= REFERENCE_CLOCK_IDENTIFIER[reference_clock_identifier] end |
#reference_timestamp ⇒ Object
158 159 160 |
# File 'lib/net/ntp/ntp.rb', line 158 def @reference_timestamp ||= ((packet_data_by_field[:ref_time] + bin2frac(packet_data_by_field[:ref_time_fb])) - NTP_ADJ) end |
#root_delay ⇒ Object
142 143 144 |
# File 'lib/net/ntp/ntp.rb', line 142 def root_delay @root_delay ||= bin2frac(packet_data_by_field[:delay_fb]) end |
#root_dispersion ⇒ Object
146 147 148 |
# File 'lib/net/ntp/ntp.rb', line 146 def root_dispersion @root_dispersion ||= packet_data_by_field[:disp] end |
#stratum ⇒ Object
126 127 128 |
# File 'lib/net/ntp/ntp.rb', line 126 def stratum @stratum ||= packet_data_by_field[:stratum] end |
#stratum_text ⇒ Object
130 131 132 |
# File 'lib/net/ntp/ntp.rb', line 130 def stratum_text @stratum_text ||= STRATUM[stratum] end |
#time ⇒ Object
174 175 176 |
# File 'lib/net/ntp/ntp.rb', line 174 def time @time ||= Time.at() end |
#transmit_timestamp ⇒ Object
170 171 172 |
# File 'lib/net/ntp/ntp.rb', line 170 def @transmit_timestamp ||= ((packet_data_by_field[:trans_time] + bin2frac(packet_data_by_field[:trans_time_fb])) - NTP_ADJ) end |
#version_number ⇒ Object
114 115 116 |
# File 'lib/net/ntp/ntp.rb', line 114 def version_number @version_number ||= (packet_data_by_field[:byte1][0] & 0x38) >> 3 end |