rsmp 0.51.1 → 0.51.3

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
  SHA256:
3
- metadata.gz: b41aa5a1cbba1d8803f5c579b06b91472e0f9aed82db0c5ed70b14881f1faef4
4
- data.tar.gz: 7d487e564d6626c0fc306e328d45dcff7576cbac442f31971784de1b0be7bdd6
3
+ metadata.gz: 883735d537c281828ffe79225cf667fef84b88e2055e39820cc4213168f715ec
4
+ data.tar.gz: 7c577e4ee8998cf1dbcb7308aa486122ba430d967375e4827030dd89c075f408
5
5
  SHA512:
6
- metadata.gz: 37b1f43e03c6ef6c4b41c95d8b3f2b0c394f656c7285bde99b14d4d4c8bfabdd6c0230fccd0861115d02eb6a4d04a97ecc012a2824efd3b8fdf5f48b6a0a53fb
7
- data.tar.gz: fae75a302258af53de4308eba92dc39d3eb4ee3d00cdceead6c12e7ccc9773a03085bb2df9df21e6c2dcb658532044caa1f83a5fcd564e74c0e31560b53abf38
6
+ metadata.gz: ae9f566fd7a1f2bc9c16f59507abfd1becacb0326489fa5308363daaee89122cb32863cbabf187f033fa34d18dfb6648a6e9f1150678e1c32d60aaa2f898be55
7
+ data.tar.gz: 6c2348ed50374b5d9f1b1b99313420d3190c588ac70bb562815c0b418e46ebd697fcdf8f8809915392ad8f42f70f5637b7154eb33df40d9d6695ce52b25c131a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.51.1)
4
+ rsmp (0.51.3)
5
5
  async (~> 2.45)
6
6
  colorize (~> 1.1)
7
7
  io-endpoint (~> 0.17)
@@ -147,12 +147,22 @@ module RSMP
147
147
  end
148
148
 
149
149
  def close(socket, info)
150
+ shutdown_socket(socket)
151
+
150
152
  if info
151
153
  log "Connection to #{format_ip_and_port(info)} closed", ip: info[:ip], level: :info, timestamp: Clock.now
152
154
  else
153
155
  log 'Connection closed', level: :info, timestamp: Clock.now
154
156
  end
157
+ end
155
158
 
159
+ def shutdown_socket(socket)
160
+ # A reader may still be waiting on this socket during task cancellation.
161
+ # Explicitly shut down TCP before close so the peer sees EOF immediately.
162
+ socket.shutdown(Socket::SHUT_RDWR) unless socket.closed?
163
+ rescue Errno::ENOTCONN, Errno::ECONNRESET
164
+ # The peer has already disconnected; still release the local descriptor.
165
+ ensure
156
166
  socket.close
157
167
  end
158
168
  end
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = '0.51.1'.freeze
2
+ VERSION = '0.51.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.51.1
4
+ version: 0.51.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin