tribe_em 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Tribe EM
2
2
 
3
- Tribe EM is a Ruby gem that adds network IO to the [Tribe] (https://github.com/chadrem/tribe "Tribe") gem.
3
+ Tribe EM is a Ruby gem that adds event-driven network IO to [Tribe] (https://github.com/chadrem/tribe "Tribe").
4
4
  It is based on [EventMachine] (http://rubyeventmachine.com/ "EventMachine").
5
5
 
6
6
  ## Installation
@@ -3,42 +3,36 @@ module Tribe
3
3
  class Connection < ::EM::Connection
4
4
  include Tribe::Actable
5
5
 
6
- def initialize(options = {})
7
- init_actable(options)
8
- end
9
-
6
+ # EM callback. Don't call directly.
10
7
  def post_init
11
8
  enqueue(:post_init, nil)
12
9
  end
13
10
 
11
+ # EM callback. Don't call directly.
14
12
  def receive_data(data)
15
13
  enqueue(:receive_data, data)
16
14
  end
17
15
 
16
+ # EM callback. Don't call directly.
18
17
  def unbind
19
18
  enqueue(:unbind, nil)
20
19
  end
21
20
 
22
- def process_event(event)
23
- case event.command
24
- when :post_init
25
- post_init_handler(event)
26
- when :receive_data
27
- receive_data_handler(event)
28
- when :unbind
29
- unbind_handler(event)
30
- end
21
+ private
22
+
23
+ def initialize(options = {})
24
+ init_actable(options)
31
25
  end
32
26
 
33
- def post_init_handler(event)
27
+ def on_post_init(event)
34
28
  puts "Actor (#{identifier}) connected to client using thread (#{Thread.current.object_id})."
35
29
  end
36
30
 
37
- def receive_data_handler(event)
31
+ def on_receive_data(event)
38
32
  puts "Actor (#{identifier}) received data (#{event.data}) using thread (#{Thread.current.object_id})."
39
33
  end
40
34
 
41
- def unbind_handler(event)
35
+ def on_unbind(event)
42
36
  puts "Actor (#{identifier}) disconnected from client using thread (#{Thread.current.object_id})."
43
37
  end
44
38
  end
@@ -13,20 +13,11 @@ module Tribe
13
13
  start_listener
14
14
  end
15
15
 
16
- def process_event(event)
17
- case event.command
18
- when :start_listener
19
- start_listener_handler(event)
20
- when :stop_listener
21
- stop_listener_handler(event)
22
- end
23
- end
24
-
25
- def start_listener_handler(event)
16
+ def on_start_listener(event)
26
17
  start_listener
27
18
  end
28
19
 
29
- def stop_listener_handler(event)
20
+ def on_stop_listener(event)
30
21
  stop_listener
31
22
  end
32
23
 
@@ -34,10 +25,6 @@ module Tribe
34
25
  stop_server
35
26
  end
36
27
 
37
- def set_server_sig_handler(event)
38
- @server_sig = event.data
39
- end
40
-
41
28
  def start_listener
42
29
  return if @server_sig
43
30
 
@@ -1,5 +1,5 @@
1
1
  module Tribe
2
2
  module EM
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
  end
data/lib/tribe_em.rb CHANGED
@@ -8,7 +8,12 @@ require 'tribe_em/tcp_server'
8
8
  module Tribe
9
9
  module EM
10
10
  def self.start
11
- @em_thread = Thread.new { ::EM.run {} }
11
+ @em_thread = Thread.new do
12
+ ::EM.run do
13
+ ::EM.kqueue = true if ::EM.kqueue?
14
+ ::EM.epoll = true if ::EM.epoll?
15
+ end
16
+ end
12
17
 
13
18
  return nil
14
19
  end
data/tribe_em.gemspec CHANGED
@@ -17,6 +17,6 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_dependency('tribe', ['0.0.7'])
20
+ gem.add_dependency('tribe', ['0.0.8'])
21
21
  gem.add_dependency('eventmachine', '>= 1.0.0')
22
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tribe_em
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-26 00:00:00.000000000 Z
12
+ date: 2013-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tribe
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.0.7
21
+ version: 0.0.8
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.0.7
29
+ version: 0.0.8
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: eventmachine
32
32
  requirement: !ruby/object:Gem::Requirement