class PacketGen::Types::Int24
3-byte unsigned integer @author Sylvain Daubert @since 2.1.4
Public Class Methods
new(value=nil, endian=:big)
click to toggle source
@param [Integer,nil] value @param [:big, :little] endian
Calls superclass method
PacketGen::Types::Int::new
# File lib/packetgen/types/int.rb, line 187 def initialize(value=nil, endian=:big) super(value, endian, 3) end
Public Instance Methods
read(value)
click to toggle source
Read an 3-byte Int
from a binary string or an integer @param [Integer, String] value @return [self]
# File lib/packetgen/types/int.rb, line 194 def read(value) return self if value.nil? @value = if value.is_a?(Integer) value.to_i else up8 = down16 = 0 if @endian == :big up8, down16 = value.to_s.unpack('Cn') else down16, up8 = value.to_s.unpack('vC') end (up8 << 16) | down16 end self end
to_s()
click to toggle source
@return [::String]
# File lib/packetgen/types/int.rb, line 212 def to_s up8 = to_i >> 16 down16 = to_i & 0xffff if @endian == :big [up8, down16].pack('Cn') else [down16, up8].pack('vC') end end