class NTP::Response
Attributes
poll_interval[W]
precision[W]
root_dispersion[W]
version_number[W]
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/ntp.rb, line 206 def initialize super(nil, ::Time.now) end
Public Instance Methods
leap_indicator=(leap_indicator)
click to toggle source
# File lib/ntp.rb, line 125 def leap_indicator= leap_indicator @leap_indicator_text = leap_indicator @leap_indicator = Net::NTP::LEAP_INDICATOR.invert[ leap_indicator ] end
mode=(mode)
click to toggle source
# File lib/ntp.rb, line 130 def mode= mode @mode_text ||= mode @mode ||= Net::NTP::MODE.invert[ mode ] end
originate_timestamp=(originate_timestamp)
click to toggle source
# File lib/ntp.rb, line 153 def originate_timestamp= originate_timestamp @originate_timestamp = NTP::Time.new( originate_timestamp ) end
receive_timestamp=(receive_timestamp)
click to toggle source
# File lib/ntp.rb, line 157 def receive_timestamp= receive_timestamp @receive_timestamp = NTP::Time.new( receive_timestamp ) end
reference_clock_identifier=(reference_clock_identifier)
click to toggle source
# File lib/ntp.rb, line 140 def reference_clock_identifier= reference_clock_identifier @reference_clock_identifier = NTP::ClockId.new( @stratum, reference_clock_identifier ) end
reference_timestamp=(reference_timestamp)
click to toggle source
# File lib/ntp.rb, line 149 def reference_timestamp= reference_timestamp @reference_timestamp = NTP::Time.new( reference_timestamp ) end
root_delay=(root_delay)
click to toggle source
# File lib/ntp.rb, line 145 def root_delay= root_delay @root_delay = NTP::Time.new( root_delay ) end
send() { |"#{data}#{timestamp}"| ... }
click to toggle source
# File lib/ntp.rb, line 165 def send &block data = self.compile yield "#{data[0...40]}#{transmit_timestamp.timestamp}" end
stratum=(stratum)
click to toggle source
# File lib/ntp.rb, line 135 def stratum= stratum @stratum_text ||= stratum @stratum = Net::NTP::STRATUM.invert[ stratum ] end
transmit_timestamp=(transmit_timestamp)
click to toggle source
# File lib/ntp.rb, line 161 def transmit_timestamp= transmit_timestamp @transmit_timestamp = NTP::Time.new( transmit_timestamp ) end
Protected Instance Methods
compile()
click to toggle source
# File lib/ntp.rb, line 185 def compile data = [ ( ( @leap_indicator & 0x3 ) << 6 | ( @version_number & 0x7 ) << 3 | ( @mode & 0x7 ) ), @stratum, @poll_interval, @precision, @root_delay.short, @root_dispersion.short, @reference_clock_identifier.data, @reference_timestamp.timestamp, @originate_timestamp.timestamp, @receive_timestamp.timestamp, @transmit_timestamp.timestamp, ] data.pack( "C4 A4 A4 A4 A8 A8 A8 A8" ) end
raw_data()
click to toggle source
# File lib/ntp.rb, line 172 def raw_data if ! @raw_data @packetdata = [] NTP_FIELDS.each do |field| @packetdata.push( @packet_data_by_field[field] ) end @raw_data = @packetdata.pack( "a C3 n B16 n B16 H8 N B32 N B32 N B32 N B32" ) end @raw_data end