Sha256: 86a52fc68f936493df46b11dbb6e08f0323ba97d6d2564d8473713ce4912a37d

Contents?: true

Size: 920 Bytes

Versions: 5

Compression:

Stored size: 920 Bytes

Contents

require_relative 'header/received'
class PacketViaDMEM
  class Received < Packet

    def initialize packet, log
      @log                      = log
      @type                     = :received
      @original                 = packet.dup
      @header                   = Header::Received.new
      @popped, @packet          = parse_packet packet
    end

    private

    def parse_packet pkt
      head = pkt.shift(4).join.to_i(16)

      @header.msg_type = (head & 0xffffffff) >> 28
      @header.table    = (head & 0xfffffff)  >> 15
      @header.stream   = (head & 0x7fff)     >> 4
      @header.offset   = (head & 0xe)        >> 1
      @header.size     = (head & 0x1)        << 16
      @header.size    += pkt.shift(2).join.to_i(16) if @header.msg_type == PACKET_HEAD

      pop, push = get_pop_push pkt, @header
      popped_and_packet pkt, pop, push
    end

    PACKET      = 0
    PACKET_HEAD = 1
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
packet_via_dmem-0.0.18 lib/packet_via_dmem/received.rb
packet_via_dmem-0.0.17 lib/packet_via_dmem/received.rb
packet_via_dmem-0.0.16 lib/packet_via_dmem/received.rb
packet_via_dmem-0.0.15 lib/packet_via_dmem/received.rb
packet_via_dmem-0.0.14 lib/packet_via_dmem/received.rb