class Faye::WebSocket::Draft75Parser
def parse(buffer)
def parse(buffer) buffer.each_byte do |data| case @stage when 0 then parse_leading_byte(data) when 1 then value = (data & 0x7F) @length = value + 128 * @length if @closing and @length.zero? @socket.close(nil, nil, false) elsif (0x80 & data) != 0x80 if @length.zero? @socket.receive('') @stage = 0 else @buffer = [] @stage = 2 end end when 2 then if data == 0xFF @socket.receive(WebSocket.encode(@buffer)) @stage = 0 else @buffer << data if @length and @buffer.size == @length @stage = 0 end end end end nil end