class F4R::Definition::RecordHeader
Record
header
| Bit | Value | Description | |-----+-------------+-----------------------| | 7 | 0 | Normal Header | | 6 | 0 or 1 | Message Type: | | | | 1: Definition | | | | 2: Data | | 5 | 0 (default) | Message Type Specific | | 4 | 0 | Reserved | | 0-3 | 0-15 | Local Message Type |
Public Instance Methods
compressed?()
click to toggle source
@return [Boolean]
# File lib/f4r.rb, line 879 def compressed? normal.snapshot == 1 end
for_new_definition?()
click to toggle source
@return [Boolean]
# File lib/f4r.rb, line 886 def for_new_definition? normal.snapshot.zero? && message_type.snapshot == 1 end
read(io)
click to toggle source
Serves as first place for validating data.
@param [IO] io
Calls superclass method
# File lib/f4r.rb, line 857 def read(io) super if compressed? Log.error "Compressed Timestamp Headers are not supported. #{inspect}" end Log.decode [self.class, __method__], to_log_s end
to_log_s()
click to toggle source
Header
format for log output
@example:
record_{data}_header: N: 0 MT: 1 DDF: 0 R: 0 LMT: 6
@return [String]
# File lib/f4r.rb, line 898 def to_log_s { "#{message_type.snapshot.zero? ? 'record_data' : 'record'}_header" => [ ('%-8s' % "N: #{normal.snapshot}"), ('%-8s' % "MT: #{message_type.snapshot}"), ('%-8s' % "DDF:#{developer_data_flag.snapshot}"), ('%-8s' % "R: #{reserved.snapshot}"), ('%-8s' % "LMT:#{local_message_type.snapshot}"), ].join(' ') } end
write(io)
click to toggle source
@param [io] io
Calls superclass method
# File lib/f4r.rb, line 870 def write(io) super Log.encode [self.class, __method__], to_log_s end
write_data_header(io, record)
click to toggle source
Helper method for writing data headers
@param [IO] io @param [Record] record
# File lib/f4r.rb, line 916 def write_data_header(io, record) data_header = self.new data_header.normal = 0 data_header.message_type = 0 data_header.local_message_type = record[:local_message_number] data_header.write(io) end