Method: EventMachine::RTMP::Message#encode

Defined in:
lib/em-rtmp/message.rb

#encodeObject

Encode this message with the chosen serializer

Returns a string containing an encoded message



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/em-rtmp/message.rb', line 32

def encode
  Logger.debug "encoding #{self.inspect}"
  class_mapper = RocketAMF::ClassMapper.new
  ser = RocketAMF::Serializer.new class_mapper

  if amf3?
    ser.stream << "\x00"
  end

  ser.serialize 0, command
  ser.serialize 0, transaction_id

  if amf3?
    ser.stream << "\x05"
    ser.stream << "\x11"
    ser.serialize 3, values.first
  else
    values.each do |value|
      ser.serialize 0, value
    end
  end

  ser.stream
end