sping 1.0.0 → 1.0.2
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 +4 -4
- data/bin/sping +3 -3
- data/lib/session_manager.rb +6 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5ab53904c197ff35bab0d5fc29f26b5ada7c1ded24548b30d42df12d3df6837
|
4
|
+
data.tar.gz: 8bd57a7d33c5f39f1eb76ad2551550fafecc5836f373b3c3675648e620afebe1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90e021acc0d54dace745238c35566efacdd5be77d8db2f9ecd6e6aa1ed8d71ee89c552fb4674be23e1adcf244987154e1975364731eff78e76ad5dd7006ec3df
|
7
|
+
data.tar.gz: 336910fef1e87548f060a4a70547b272d78362828274dd5b21ed011a821a66ed71c7ece447045ca717a169676fa872594cbbd9e649e701731c63cd812c7f7bba
|
data/bin/sping
CHANGED
@@ -25,12 +25,12 @@ ARGV.each do |host|
|
|
25
25
|
end
|
26
26
|
|
27
27
|
Signal.trap('INT') do
|
28
|
-
puts "Stop sessions..."
|
29
|
-
sess_mgr.stop_sessions
|
30
|
-
|
31
28
|
puts "Stop server..."
|
32
29
|
sess_mgr.stop_server
|
33
30
|
|
31
|
+
puts "Stop sessions..."
|
32
|
+
sess_mgr.stop_sessions
|
33
|
+
|
34
34
|
puts "Stop client..."
|
35
35
|
sess_mgr.stop
|
36
36
|
end
|
data/lib/session_manager.rb
CHANGED
@@ -31,7 +31,7 @@ module SPing
|
|
31
31
|
loop do
|
32
32
|
begin
|
33
33
|
session.do_tcp_handshake2
|
34
|
-
rescue Errno::ECONNRESET, TCPHandshakeError => e
|
34
|
+
rescue Errno::ECONNRESET, EOFError, IO::TimeoutError, TCPHandshakeError => e
|
35
35
|
$logger.warn "TCP handshake failed: #{e.message}"
|
36
36
|
return
|
37
37
|
end
|
@@ -150,7 +150,10 @@ module SPing
|
|
150
150
|
|
151
151
|
def do_gc
|
152
152
|
$logger.debug 'Remove outdated sessions.'
|
153
|
-
@sessions.each do |session_id
|
153
|
+
@sessions.keys.each do |session_id|
|
154
|
+
session = @sessions[session_id]
|
155
|
+
# It is possible that sessions no longer exist here, as we may have session IDs that have already been deleted.
|
156
|
+
# However, we can ignore this aspect here, as we are the only function that deletes sessions.
|
154
157
|
if ! (session.tcp_handshake_complete && session.udp_handshake_complete)
|
155
158
|
# Handshake incomplete
|
156
159
|
if (Time.now.to_i - session.created.to_i) > 60
|
@@ -245,7 +248,7 @@ module SPing
|
|
245
248
|
|
246
249
|
begin
|
247
250
|
session.do_tcp_handshake1 client, self.generate_session_id
|
248
|
-
rescue Errno::ECONNRESET, TCPHandshakeError => e
|
251
|
+
rescue Errno::ECONNRESET, EOFError, IO::TimeoutError, TCPHandshakeError => e
|
249
252
|
$logger.warn "Could not establish a new session with Peer: #{e.message}"
|
250
253
|
return
|
251
254
|
rescue OutOfSessions => e
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marek Küthe
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -53,7 +53,7 @@ metadata:
|
|
53
53
|
source_code_uri: https://codeberg.org/mark22k/sping
|
54
54
|
bug_tracker_uri: https://codeberg.org/mark22k/sping/issues
|
55
55
|
rubygems_mfa_required: 'true'
|
56
|
-
post_install_message:
|
56
|
+
post_install_message:
|
57
57
|
rdoc_options: []
|
58
58
|
require_paths:
|
59
59
|
- lib
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
71
|
rubygems_version: 3.4.21
|
72
|
-
signing_key:
|
72
|
+
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: Reimplementation of sping in Ruby.
|
75
75
|
test_files: []
|