game-server 0.4.3 → 0.4.4

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/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: