seapig-server 0.0.4 → 0.0.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b946a0834e2eba8cd49a00ceec8e851c757955f6
4
- data.tar.gz: 5466488806f71b47122e604224f7f8ca8d560963
3
+ metadata.gz: 0c8d5a4a1af89805ec7bc0969ee5901724a36898
4
+ data.tar.gz: 1f0e34780c4eae224e13e940ca9a7f3113c46f98
5
5
  SHA512:
6
- metadata.gz: 5d0378f7d671db57df6366d5e1f58051a45fa7eeacda6aa9c222dde0a337c7e6d363d38d65d7a3c95d03f99258b9cbfa9091cc53c806c7071f79ae21b5ad0217
7
- data.tar.gz: 34de72650fad7d8b8476757927c40abe2b8f79ba130035c2a07c3aa316f33cb7464edd97eb06da12379c9db2a294d1a53dac1babb4fc26446a1919404ef87a6c
6
+ metadata.gz: 49aae39196e5eee0da10cab70517b9e07277018dbe15142fe34a7a775b5aa4065869cbe53c910e3262ebe4dab564aa13ed97ae22d55c5546f1f23356286f63dc
7
+ data.tar.gz: d97c5d559b848c0dbfdb9d778a8fefed8c2bb4f61546137194232a79433c469f2b8649af288206392b1ca26074e2c0212025d9439e3ae47305fe41e905ba3b15
data/bin/seapig-server CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/bin/env ruby
2
+ # coding: utf-8
2
3
 
3
4
  require 'websocket-eventmachine-server'
4
5
  require 'json'
@@ -73,13 +74,13 @@ class SeapigObject
73
74
  client.socket.send JSON.dump(action: 'object-destroy', id: id)
74
75
  }
75
76
  puts "Deleting: "+id
76
- @@objects_by_id.delete(id)
77
+ @@objects_by_id.delete(id)
77
78
  }
78
79
  end
79
80
 
80
81
 
81
82
  def patch(patch, value, from_version, new_version)
82
- print "Patching:\n version:"+@version.inspect+"\n from_version: "+from_version.inspect+"\n new_version: "+new_version.inspect+"\n patch_size: "+(patch and patch.size.to_s or "nil")+"\n --> "
83
+ print "Patching:\n        version:"+@version.inspect+"\n from_version: "+from_version.inspect+"\n new_version: "+new_version.inspect+"\n patch_size: "+(patch and patch.size.to_s or "nil")+"\n --> "
83
84
  if from_version == @version or from_version == 0
84
85
  puts 'clean'
85
86
  if value and @stall_after
@@ -242,6 +243,12 @@ class Client
242
243
  def check_ping_timeout
243
244
  @socket.close if Time.new - pong > 60
244
245
  end
246
+
247
+
248
+ def send_heartbeat
249
+ @socket.send JSON.dump(action: 'heartbeat') if @options['heartbeat']
250
+ end
251
+
245
252
  end
246
253
 
247
254
 
@@ -303,17 +310,8 @@ EM.run {
303
310
 
304
311
  Socket.open(:UNIX, :DGRAM) { |s| s.connect(Socket.pack_sockaddr_un(ENV['NOTIFY_SOCKET'])); s.sendmsg "READY=1" } if ENV['NOTIFY_SOCKET']
305
312
 
306
- EM.add_periodic_timer(10) {
307
- Client.all.each { |client|
308
- client.ping
309
- }
310
- }
311
-
312
-
313
- EM.add_periodic_timer(10) {
314
- Client.all.each { |client|
315
- client.check_ping_timeout
316
- }
317
- }
313
+ EM.add_periodic_timer(10) { Client.all.each { |client| client.ping } }
314
+ EM.add_periodic_timer(10) { Client.all.each { |client| client.check_ping_timeout } }
315
+ EM.add_periodic_timer(10) { Client.all.each { |client| client.send_heartbeat } }
318
316
 
319
317
  }
@@ -1,3 +1,3 @@
1
1
  module Seapig
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seapig-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - yunta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-12 00:00:00.000000000 Z
11
+ date: 2016-03-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: websocket-eventmachine-server