module EventMachine::Protocols::ObjectProtocol

def receive_data data

Other tags:
    Private: -
def receive_data data
  (@buf ||= '') << data
  while @buf.size >= 4
    if @buf.size >= 4+(size=@buf.unpack('N').first)
      @buf.slice!(0,4)
      receive_object serializer.load(@buf.slice!(0,size))
    else
      break
    end
  end
end

def receive_object obj

Invoked with ruby objects received over the network
def receive_object obj
  # stub
end

def send_object obj

Sends a ruby object over the network
def send_object obj
  data = serializer.dump(obj)
  send_data [data.respond_to?(:bytesize) ? data.bytesize : data.size, data].pack('Na*')
end

def serializer

other serializer/deserializer responding to #dump and #load.
By default returns Marshal, override to return JSON or YAML, or any
def serializer
  Marshal
end