io-endpoint 0.5.0 → 0.6.0

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