io-endpoint 0.5.0 → 0.6.0

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: 204ed5172990d0df3a5d02e63b8e75d8caaf161808fea4e99b67f0d422241cc6
4
- data.tar.gz: 7ba7e7052949565c4cb327076c493db15d6f3057493f93d4210ec5ac5bc7808b
3
+ metadata.gz: 5bcb63287c1be90c51846285208bb0ddb82d3e1da5ccf53c698a8b75af180bf7
4
+ data.tar.gz: 2ef636802b1a1d76183f661857a75805efc98b78bc1d396b2e27658ceb49c9dc
5
5
  SHA512:
6
- metadata.gz: 12aa8f963bc0787de988e9efcf80fbff38a857e8130e663ed8c329402048ab9e1940dcc2637f17de2f77f43d9222914808b5ec89e91420ed0d07475dbabc9d0e
7
- data.tar.gz: ce830974878205da1f7e91378af0bdb05f1a4017cc60715c2dca5607573992f38d97712e6b879d99ab31db95a5b12c40ab3df959da12cc56f4b2189dd37b314e
6
+ metadata.gz: 95a1be9bd523f623bd07a6d0c8c9cfb46f10d2224697488ecbbafce04cadbca50a4ae9ce8437c2efe4c990161e68efa3110cb05f29bef4bf652f68a0ca606a53
7
+ data.tar.gz: e05ec8d424c92d0f7edbffd8f6ec6faef93a82b086e6fd8447eeed0b9a22b9ea7eb92a8359785d888556906cdd02076b5ca161c3a7b0bec597fe0167102c7c6e
checksums.yaml.gz.sig CHANGED
Binary file
@@ -5,6 +5,6 @@
5
5
 
6
6
  class IO
7
7
  module Endpoint
8
- VERSION = "0.5.0"
8
+ VERSION = "0.6.0"
9
9
  end
10
10
  end
@@ -147,11 +147,17 @@ module IO::Endpoint
147
147
  end
148
148
 
149
149
  # Bind to a local address and accept connections in a loop.
150
- def accept(server, timeout: nil, &block)
150
+ def accept(server, timeout: nil, linger: nil, **options, &block)
151
151
  while true
152
152
  socket, address = server.accept
153
153
 
154
- set_timeout(socket, timeout) if timeout != false
154
+ if linger
155
+ socket.setsockopt(SOL_SOCKET, SO_LINGER, 1)
156
+ end
157
+
158
+ if timeout
159
+ set_timeout(socket, timeout)
160
+ end
155
161
 
156
162
  async do
157
163
  yield socket, address
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: io-endpoint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -37,7 +37,7 @@ cert_chain:
37
37
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
38
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
39
  -----END CERTIFICATE-----
40
- date: 2024-01-25 00:00:00.000000000 Z
40
+ date: 2024-01-26 00:00:00.000000000 Z
41
41
  dependencies: []
42
42
  description:
43
43
  email:
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.5.3
84
+ rubygems_version: 3.5.5
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: Provides a separation of concerns interface for IO endpoints.
metadata.gz.sig CHANGED
Binary file