public
Description: EventMachin Ruby-Erlang bridge
Homepage:
Clone URL: git://github.com/maxlapshin/erlang.git
erlang /
name age message
file LICENSE Sun Sep 13 23:28:19 -0700 2009 More things to look like normal gem [maxlapshin]
file README Sun Sep 13 23:28:19 -0700 2009 More things to look like normal gem [maxlapshin]
file Rakefile Wed Sep 23 07:44:50 -0700 2009 Added tests for format [Макс Лапшин]
directory doc/ Sun Sep 13 23:28:19 -0700 2009 More things to look like normal gem [maxlapshin]
file example.rb Wed Sep 23 13:24:10 -0700 2009 Now can make rpc calls [maxlapshin]
file init.rb Sun Sep 13 23:28:19 -0700 2009 More things to look like normal gem [maxlapshin]
directory lib/ Thu Sep 24 01:06:48 -0700 2009 Stable work of sync connection [maxlapshin]
directory test/ Wed Sep 23 07:47:45 -0700 2009 Added match test [Макс Лапшин]
README
Erlang is a bridge from Ruby to Erlang, build over EventMachine.

Native erl_interface lib doesn't fit for event-based usage, it blocks whole
application and is not suitable for modern applications.

Erlang distributed protocol is rather simple, so its base is implemented in this library,
except distributed caches.

However, most problems lies in the application level. Based on data transfer protocol,
simple as the erlang itself, lies application protocol, which is rather hard to implement and
not very useful.


Examples:

  EventMachine.run do
    Erlang::Server.run do |creation|
      Erlang.register_process(:rtmp, Processes::RtmpListener.new)  # The same as register process in erlang

      Erlang.creation = creation
      puts "Epmd registered us: #{Erlang.creation}"
      Erlang::Epmd.nodes do |nodes|
        puts nodes
      end
    end
    # Erlang::Client.connect("localhost", "rtmpproxy") do |client|
    #   client.rpc(:io, :format, "Hello world") do |result|
    #     puts "Result: #{result.inspect}"
    #   end
    # end
  end

Erlang protocol description lies in doc