require 'rubygems' require 'eventmachine' require 'socket' require 'osc_to_rca_dispatcher' module UdpServer def post_init CcgLogger::LOGGER.info "#{Time.now.iso8601} | ++ ... server started" end def receive_data(data) return unless(CcgRunner.instance.valve == :open) ## #CcgLogger::LOGGER.info "#{Time.now.iso8601} | >> raw incoming data: ----------------------" #CcgLogger::LOGGER.info data.inspect #CcgLogger::LOGGER.info " --------------------------------------------" ## #port, ip = Socket.unpack_sockaddr_in(get_peername) #CcgLogger::LOGGER.info "#{Time.now.iso8601} | >> UdpServer: sender: #{ip}, #{port}" # RCA rca_dispatching = proc { begin my_dispatcher = CanControlsGateway::OscToRcaDispatcher.new data #CcgLogger::LOGGER.info my_dispatcher.event.inspect my_dispatcher.dispatch_rca rescue Exception => e puts " ## #{e}\n -> #{e.backtrace.join "\n "}" end } rca_callback = proc { |result| #if result # CcgLogger::LOGGER.info "#{Time.now.iso8601} | >> UdpServer: result is: #{result.inspect}" #end } EventMachine::defer rca_dispatching, rca_callback end def unbind CcgLogger::LOGGER.info "#{Time.now.iso8601} | -- UdpServer stopped" end end