tribe_em 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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