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 +4 -4
- data/VERSION +1 -1
- data/game-server.gemspec +2 -2
- data/lib/base_listner.rb +6 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 610b6eaf89e4b968885e9640091f86d4221cab20
|
4
|
+
data.tar.gz: ae355be4607545c50758c844962ebe70b74bdeea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54257e017eb79aea42168a0596d802825396164a98f0dbd8b8b0d01021d849c5979624634b5192b5acdf18e8adaf413e235c5f28532cbe5ae49ee9c080211ed0
|
7
|
+
data.tar.gz: 21a04ceec929e33354ff8389b61af0c615fbf1d89aba3f83fb30910df420384922e745fd8ff81291c8569f8e9eaa19e56a2025351e04cf7f2c572f0055704990
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
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.5.
|
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-
|
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 = [
|
data/lib/base_listner.rb
CHANGED
@@ -3,9 +3,10 @@ require File.dirname(__FILE__) + '/daemon_logger'
|
|
3
3
|
# Базовый модуль для прослушивания JSON запросов от клиента
|
4
4
|
module GameServer::BaseListner
|
5
5
|
|
6
|
-
#
|
7
|
-
#
|
8
|
-
|
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.
|
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-
|
11
|
+
date: 2013-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: exception_notification
|