Module: Madrox::ServerHandler
- Defined in:
- lib/madrox-cluster/server/server_handler.rb
Instance Method Summary collapse
- #execute(code, args) ⇒ Object
- #post_init ⇒ Object
- #receive_data(package) ⇒ Object
- #register(reference, code) ⇒ Object
Instance Method Details
#execute(code, args) ⇒ Object
13 14 15 16 17 |
# File 'lib/madrox-cluster/server/server_handler.rb', line 13 def execute(code, args) args = args.first if args.size == 1 result = eval(code).call(args) JsonPackage.result(result) end |
#post_init ⇒ Object
4 5 6 7 |
# File 'lib/madrox-cluster/server/server_handler.rb', line 4 def post_init port, ip = Socket.unpack_sockaddr_in(self.get_peername) puts "#{ip} has connected" end |
#receive_data(package) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/madrox-cluster/server/server_handler.rb', line 19 def receive_data(package) Thread.new do data = JsonPackage.parse(package) puts "-----" puts data case data.type when "register" register(data.reference, data.code) when "execute" result = execute(data.code, data.args) send_data result.to_s + "\n" end end end |
#register(reference, code) ⇒ Object
9 10 11 |
# File 'lib/madrox-cluster/server/server_handler.rb', line 9 def register(reference, code) eval("#{reference} = #{code}.call()") end |