emogilefs 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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)