Frame routing logic for Strelka WebSocketServers.
For a protocol that defines its own opcodes:
class ChatServer plugin :routing opcodes :nick => 7, :emote => 8 on_text do |frame| # ... end on_nick do |frame| self.set_nick( frame.socket_id, frame.payload.read ) end
Dispatch the incoming frame to its handler based on its opcode
# File lib/strelka/websocketserver/routing.rb, line 104
def handle_frame( frame )
self.log.debug "[:routing] Opcode map is: %p" % [ self.class.opcode_map ]
opname = self.class.opcode_map[ frame.numeric_opcode ]
self.log.debug "[:routing] Routing frame: %p" % [ opname ]
handler = self.class.op_callbacks[ opname ] or return super
return handler.bind( self ).call( frame )
end