Module: Nl::Datagram
- Defined in:
- nl/lib/nl/datagram.rb
Overview
Splits Netlink datagrams into aligned header/payload frames.
Class Method Summary collapse
Class Method Details
.each_frame(buffer) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'nl/lib/nl/datagram.rb', line 9 def self.each_frame(buffer) return enum_for(__method__, buffer) unless block_given? decoder = Decoder.new(buffer) while decoder.available?(Raw::NLMSG_HDRLEN) header = Raw::NlMsgHdr.decode(decoder) payload_size = header.len - Raw::NLMSG_HDRLEN payload = decoder.get_buffer(payload_size) decoder.align_to(Raw::NLMSG_ALIGNTO) yield header, payload end end |