game-server 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1210be22e73f656e868d675b861079e920fe61da
4
- data.tar.gz: a34f8f5b062bacaf3e50ac869f9753de807d8147
3
+ metadata.gz: 610b6eaf89e4b968885e9640091f86d4221cab20
4
+ data.tar.gz: ae355be4607545c50758c844962ebe70b74bdeea
5
5
  SHA512:
6
- metadata.gz: 55280c68525a02d3e35e4a4bedaf5dab1ebf2a2026af961a21c615881e30f61780566a002d5959209f927e1f5c1d10188a6afe0f62d6415ae4af964f9c7631fe
7
- data.tar.gz: 8528e91dcd01de196cc02ed08510537041d0c52896109d38487ce5240b752145f53bc6243d3945794c2129c26d5b84d82fb99378122153b805bb3d2577937000
6
+ metadata.gz: 54257e017eb79aea42168a0596d802825396164a98f0dbd8b8b0d01021d849c5979624634b5192b5acdf18e8adaf413e235c5f28532cbe5ae49ee9c080211ed0
7
+ data.tar.gz: 21a04ceec929e33354ff8389b61af0c615fbf1d89aba3f83fb30910df420384922e745fd8ff81291c8569f8e9eaa19e56a2025351e04cf7f2c572f0055704990
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.5.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "game-server"
8
- s.version = "0.5.0"
8
+ s.version = "0.5.1"
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 = "2013-11-05"
12
+ s.date = "2013-11-22"
13
13
  s.description = "siply general-porpuse game server"
14
14
  s.email = "nobody@nowhere.com"
15
15
  s.extra_rdoc_files = [
@@ -3,9 +3,10 @@ require File.dirname(__FILE__) + '/daemon_logger'
3
3
  # Базовый модуль для прослушивания JSON запросов от клиента
4
4
  module GameServer::BaseListner
5
5
 
6
- # семафор (mutex) для доступа к коннекшену. должен устанавливаться в приложении connection.semaphore = Mutex.new
7
- # если не установлен - то не используется
8
- attr_accessor :semaphore
6
+ # send_data_semaphore -семафор (mutex) для доступа к коннекшену. если не установлен - то не используется.
7
+ # может устанавливаться в приложении connection.send_data_semaphore = Mutex.new
8
+ # process_semaphore - семафор для обработки
9
+ attr_accessor :send_data_semaphore, :process_semaphore
9
10
 
10
11
  MAX_INPUT_BUFFER_SIZE = 128 * 1024
11
12
 
@@ -14,6 +15,7 @@ module GameServer::BaseListner
14
15
  def initialize(*args)
15
16
  super(*args)
16
17
  self.input_buffer = ""
18
+ self.process_semaphore = Mutex.new
17
19
  end
18
20
 
19
21
  def find_controller(request)
@@ -87,7 +89,7 @@ module GameServer::BaseListner
87
89
  log "Received from #{connection_info} (size #{complete_message.size}): " + complete_message.inspect
88
90
  return if policy_file_request(complete_message)
89
91
  complete_message.split("\n").each do |query_string|
90
- operation = proc { process_query(query_string) }
92
+ operation = proc { process_semaphore.synchronize{ process_query(query_string) } }
91
93
  callback = proc { nil }
92
94
  EventMachine.defer(operation, callback)
93
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: game-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - V_M
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-05 00:00:00.000000000 Z
11
+ date: 2013-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: exception_notification