class AMQ::Protocol::FrameSubclass

Attributes

channel[RW]
payload[R]

Public Class Methods

encode(payload, channel) click to toggle source
Calls superclass method AMQ::Protocol::Frame.encode
# File lib/amq/protocol/frame.rb, line 83
def self.encode(payload, channel)
  super(@id, payload, channel)
end
id() click to toggle source
# File lib/amq/protocol/frame.rb, line 79
def self.id
  @id
end
new(payload, channel) click to toggle source
# File lib/amq/protocol/frame.rb, line 89
def initialize(payload, channel)
  @payload, @channel = payload, channel
end

Public Instance Methods

encode() click to toggle source
# File lib/amq/protocol/frame.rb, line 108
def encode
  s = [self.class.id, @channel, @payload.bytesize].pack(PACK_CHAR_UINT16_UINT32)
  s << self.class.encoded_payload(@payload)
  s << FINAL_OCTET
  s
end
encode_to_array() click to toggle source

TODO: remove once we are sure none of the clients

uses this method directly

@api private

# File lib/amq/protocol/frame.rb, line 100
def encode_to_array
  components = []
  components << [self.class.id, @channel, @payload.bytesize].pack(PACK_CHAR_UINT16_UINT32)
  components << self.class.encoded_payload(@payload)
  components << FINAL_OCTET
  components
end
size() click to toggle source
# File lib/amq/protocol/frame.rb, line 93
def size
  @payload.bytesize
end