game-server 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,26 +1,37 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (3.2.9)
5
+ i18n (~> 0.6)
6
+ multi_json (~> 1.0)
7
+ bourne (1.1.2)
8
+ mocha (= 0.10.5)
4
9
  git (1.2.5)
5
- jeweler (1.8.3)
10
+ i18n (0.6.1)
11
+ jeweler (1.8.4)
6
12
  bundler (~> 1.0)
7
13
  git (>= 1.2.5)
8
14
  rake
9
15
  rdoc
10
- json (1.7.3)
11
- multi_json (1.3.5)
12
- rake (0.9.2.2)
16
+ json (1.7.5)
17
+ metaclass (0.0.1)
18
+ mocha (0.10.5)
19
+ metaclass (~> 0.0.1)
20
+ multi_json (1.5.0)
21
+ rake (10.0.3)
13
22
  rdoc (3.12)
14
23
  json (~> 1.4)
15
- shoulda (3.0.1)
16
- shoulda-context (~> 1.0.0)
17
- shoulda-matchers (~> 1.0.0)
18
- shoulda-context (1.0.0)
19
- shoulda-matchers (1.0.0)
20
- simplecov (0.6.3)
24
+ shoulda (3.3.2)
25
+ shoulda-context (~> 1.0.1)
26
+ shoulda-matchers (~> 1.4.1)
27
+ shoulda-context (1.0.2)
28
+ shoulda-matchers (1.4.2)
29
+ activesupport (>= 3.0.0)
30
+ bourne (~> 1.1.2)
31
+ simplecov (0.7.1)
21
32
  multi_json (~> 1.0)
22
- simplecov-html (~> 0.5.3)
23
- simplecov-html (0.5.3)
33
+ simplecov-html (~> 0.7.1)
34
+ simplecov-html (0.7.1)
24
35
 
25
36
  PLATFORMS
26
37
  ruby
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.3
1
+ 0.4.4
data/game-server.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "game-server"
8
- s.version = "0.4.3"
8
+ s.version = "0.4.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["V_M"]
12
- s.date = "2012-09-10"
12
+ s.date = "2012-12-25"
13
13
  s.description = "siply general-porpuse game server"
14
14
  s.email = "nobody@nowhere.com"
15
15
  s.extra_rdoc_files = [
data/lib/base_listner.rb CHANGED
@@ -2,10 +2,15 @@
2
2
  require File.dirname(__FILE__) + '/daemon_logger'
3
3
  # Базовый модуль для прослушивания JSON запросов от клиента
4
4
  module GameServer::BaseListner
5
+
6
+ # семафор (mutex) для доступа к коннекшену. должен устанавливаться в приложении connection.semaphore = Mutex.new
7
+ # если не установлен - то не используется
8
+ attr_accessor :semaphore
9
+
5
10
  MAX_INPUT_BUFFER_SIZE = 128 * 1024
6
11
 
7
12
  include DaemonLogger::Mixins
8
-
13
+
9
14
  def initialize(*args)
10
15
  super(*args)
11
16
  self.input_buffer = ""
@@ -44,7 +49,12 @@ module GameServer::BaseListner
44
49
 
45
50
  def send_data(data)
46
51
  log "Data sended to #{connection_info}: " + data#.inspect
47
- super(data)
52
+
53
+ if semaphore
54
+ semaphore.synchronize { super(data) }
55
+ else
56
+ super(data)
57
+ end
48
58
  end
49
59
 
50
60
 
metadata CHANGED
@@ -1,96 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: game-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
5
4
  prerelease:
5
+ version: 0.4.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - V_M
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-10 00:00:00.000000000 Z
12
+ date: 2012-12-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: shoulda
16
- requirement: !ruby/object:Gem::Requirement
15
+ version_requirements: !ruby/object:Gem::Requirement
17
16
  none: false
18
17
  requirements:
19
18
  - - ! '>='
20
19
  - !ruby/object:Gem::Version
21
20
  version: '0'
22
21
  type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
22
+ name: shoulda
23
+ requirement: !ruby/object:Gem::Requirement
25
24
  none: false
26
25
  requirements:
27
26
  - - ! '>='
28
27
  - !ruby/object:Gem::Version
29
28
  version: '0'
29
+ prerelease: false
30
30
  - !ruby/object:Gem::Dependency
31
- name: rdoc
32
- requirement: !ruby/object:Gem::Requirement
31
+ version_requirements: !ruby/object:Gem::Requirement
33
32
  none: false
34
33
  requirements:
35
34
  - - ~>
36
35
  - !ruby/object:Gem::Version
37
36
  version: '3.12'
38
37
  type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
38
+ name: rdoc
39
+ requirement: !ruby/object:Gem::Requirement
41
40
  none: false
42
41
  requirements:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
44
  version: '3.12'
45
+ prerelease: false
46
46
  - !ruby/object:Gem::Dependency
47
- name: bundler
48
- requirement: !ruby/object:Gem::Requirement
47
+ version_requirements: !ruby/object:Gem::Requirement
49
48
  none: false
50
49
  requirements:
51
50
  - - ~>
52
51
  - !ruby/object:Gem::Version
53
52
  version: '1.0'
54
53
  type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
54
+ name: bundler
55
+ requirement: !ruby/object:Gem::Requirement
57
56
  none: false
58
57
  requirements:
59
58
  - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: '1.0'
61
+ prerelease: false
62
62
  - !ruby/object:Gem::Dependency
63
- name: jeweler
64
- requirement: !ruby/object:Gem::Requirement
63
+ version_requirements: !ruby/object:Gem::Requirement
65
64
  none: false
66
65
  requirements:
67
66
  - - ~>
68
67
  - !ruby/object:Gem::Version
69
68
  version: 1.8.3
70
69
  type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
70
+ name: jeweler
71
+ requirement: !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ~>
76
75
  - !ruby/object:Gem::Version
77
76
  version: 1.8.3
77
+ prerelease: false
78
78
  - !ruby/object:Gem::Dependency
79
- name: simplecov
80
- requirement: !ruby/object:Gem::Requirement
79
+ version_requirements: !ruby/object:Gem::Requirement
81
80
  none: false
82
81
  requirements:
83
82
  - - ! '>='
84
83
  - !ruby/object:Gem::Version
85
84
  version: '0'
86
85
  type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
86
+ name: simplecov
87
+ requirement: !ruby/object:Gem::Requirement
89
88
  none: false
90
89
  requirements:
91
90
  - - ! '>='
92
91
  - !ruby/object:Gem::Version
93
92
  version: '0'
93
+ prerelease: false
94
94
  description: siply general-porpuse game server
95
95
  email: nobody@nowhere.com
96
96
  executables: []
@@ -131,10 +131,10 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - ! '>='
133
133
  - !ruby/object:Gem::Version
134
- version: '0'
135
134
  segments:
136
135
  - 0
137
- hash: -847890477
136
+ hash: -692256019
137
+ version: '0'
138
138
  required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements: