seapig-server 0.0.4 → 0.0.5

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