emogilefs 0.1.1 → 0.2.0

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.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/emogilefs.gemspec +3 -3
  3. data/lib/emogilefs.rb +11 -1
  4. metadata +12 -5
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
data/emogilefs.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{emogilefs}
8
- s.version = "0.1.1"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Rudenko"]
12
- s.date = %q{2009-12-10}
12
+ s.date = %q{2010-03-09}
13
13
  s.description = %q{MogileFS client patch for async requests to backend (not read or write data)}
14
14
  s.email = %q{ceo@prepor.ru}
15
15
  s.extra_rdoc_files = [
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  s.homepage = %q{http://github.com/prepor/emogilefs}
30
30
  s.rdoc_options = ["--charset=UTF-8"]
31
31
  s.require_paths = ["lib"]
32
- s.rubygems_version = %q{1.3.5}
32
+ s.rubygems_version = %q{1.3.6}
33
33
  s.summary = %q{MogileFS client patch for async requests to backend (not read or write data)}
34
34
 
35
35
  if s.respond_to? :specification_version then
data/lib/emogilefs.rb CHANGED
@@ -7,7 +7,13 @@ module EMogileFS
7
7
  connection(request.client).new_task request
8
8
  end
9
9
  def connection(client)
10
- @@connections[client] ||= EM.attach client.send(:socket), EMogileFS, client
10
+ real_socket = client.send(:socket)
11
+ current_client = @@connections[client]
12
+ if current_client && current_client.socket == real_socket
13
+ current_client
14
+ else
15
+ @@connections[client] = EM.attach real_socket, EMogileFS, client
16
+ end
11
17
  end
12
18
  end
13
19
 
@@ -20,6 +26,10 @@ module EMogileFS
20
26
  super
21
27
  end
22
28
 
29
+ def socket
30
+ @io
31
+ end
32
+
23
33
  def new_task(request)
24
34
  @queue << request
25
35
  handle_task
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emogilefs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Andrew Rudenko
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-10 00:00:00 +03:00
17
+ date: 2010-03-09 00:00:00 +03:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -44,18 +49,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
44
49
  requirements:
45
50
  - - ">="
46
51
  - !ruby/object:Gem::Version
52
+ segments:
53
+ - 0
47
54
  version: "0"
48
- version:
49
55
  required_rubygems_version: !ruby/object:Gem::Requirement
50
56
  requirements:
51
57
  - - ">="
52
58
  - !ruby/object:Gem::Version
59
+ segments:
60
+ - 0
53
61
  version: "0"
54
- version:
55
62
  requirements: []
56
63
 
57
64
  rubyforge_project:
58
- rubygems_version: 1.3.5
65
+ rubygems_version: 1.3.6
59
66
  signing_key:
60
67
  specification_version: 3
61
68
  summary: MogileFS client patch for async requests to backend (not read or write data)