Class: UDPHeader

Inherits:
Object
  • Object
show all
Defined in:
lib/sflow/lib/sflow/models/udpheader.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(packet, offset = 0, length = nil, lower = nil) ⇒ UDPHeader

Returns a new instance of UDPHeader.



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 6

def initialize(packet,offset=0,length=nil,lower=nil)
  @packet = packet
  @offset = offset
  header = packet.unpack("x#{offset}n4")
  @sndr_port = header[0]
  @dist_port = header[1]
  @packet_length = header[2]
  @checksum = header[3]
  @data_length = @packet_length - 8
  @lower = lower
end

Instance Attribute Details

#checksumObject (readonly)

Returns the value of attribute checksum.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def checksum
  @checksum
end

#data_lengthObject (readonly)

Returns the value of attribute data_length.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def data_length
  @data_length
end

#dist_portObject (readonly)

Returns the value of attribute dist_port.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def dist_port
  @dist_port
end

#lowerObject (readonly)

Returns the value of attribute lower.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def lower
  @lower
end

#packet_lengthObject (readonly)

Returns the value of attribute packet_length.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def packet_length
  @packet_length
end

#sndr_portObject (readonly)

Returns the value of attribute sndr_port.



3
4
5
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 3

def sndr_port
  @sndr_port
end

Instance Method Details

#dataObject



18
19
20
21
22
23
24
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 18

def data
  if(@packet_length>8)
    @packet[@offset+8..@offset+@packet_length]
  else
    ""
  end
end

#to_sObject



26
27
28
29
30
31
32
33
34
# File 'lib/sflow/lib/sflow/models/udpheader.rb', line 26

def to_s
  "" <<
  "UDP Header\n" <<
  "  Sender Port     : #{@sndr_port}\n" <<
  "  Distication Port: #{@dist_port}\n" <<
  "  Packet Length   : #{@packet_length}\n" <<
  "  Checksum        : #{@checksum}\n" <<
  "  (Data Length)   : #{@data_length}"
end