io-endpoint 0.10.1 → 0.10.2

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: 38306bd23243b3a887ade16d518ed42e15d716bb71d3a8ab264e18e2d0fe0502
4
- data.tar.gz: 50830ba30ca726fc75f02e641f21165b7790179cff22046f9ad58f26f603f34f
3
+ metadata.gz: 54e99e42b471fa6902626afb86c9ad63d41156d2e31a4da02d690578a10d30ee
4
+ data.tar.gz: e3e1848fee0cc45166f00d7c795afa0498ce63bbd76eb57f532e9c970f2d2f2d
5
5
  SHA512:
6
- metadata.gz: 2c9a1013a086f55b015ee37a9cecfa01739f2c6f4066cfd12c24b6ec345235a5e6f2510f09ad7947c234aada8ec3beb7bb0369dc516fae1a524084c7e9876f6f
7
- data.tar.gz: 8c19203762bd36f40fffe3870a907e6b21119fea7d0293627e441ac7829bf023dfc7aee30b6eb24e2bb9ea26a1f929e20689dfb95bb31a8893bae356318bba03
6
+ metadata.gz: 83de2a35af8131ef790632de7b7406f86223cbf0786878106b220c5b5b59b4793dd5b20fad04471becfe81208f852134c767793f69ac8eeb20f75788859a1773
7
+ data.tar.gz: db8fe3a0c4b0b827d4c4d940dd41060226e7abdd16db2be07d0c566ee38c80760a803d5af397538b007271a35b5f24a9d4b231ca006b006389e225577ee61099
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'generic'
7
7
  require_relative 'composite_endpoint'
@@ -12,15 +12,8 @@ module IO::Endpoint
12
12
  def self.bound(endpoint, backlog: Socket::SOMAXCONN, close_on_exec: false)
13
13
  sockets = endpoint.bind
14
14
 
15
- sockets.each do |server|
16
- # This is somewhat optional. We want to have a generic interface as much as possible so that users of this interface can just call it without knowing a lot of internal details. Therefore, we ignore errors here if it's because the underlying socket does not support the operation.
17
- begin
18
- server.listen(backlog)
19
- rescue Errno::EOPNOTSUPP
20
- # Ignore.
21
- end
22
-
23
- server.close_on_exec = close_on_exec
15
+ sockets.each do |socket|
16
+ socket.close_on_exec = close_on_exec
24
17
  end
25
18
 
26
19
  return self.new(endpoint, sockets, **endpoint.options)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'generic'
7
7
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'generic'
7
7
  require_relative 'composite_endpoint'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  # require_relative 'address'
7
7
  require 'uri'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2024, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'bound_endpoint'
7
7
  require_relative 'connected_endpoint'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  require_relative 'host_endpoint'
7
7
  require_relative 'generic'
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  class IO
7
7
  module Endpoint
8
- VERSION = "0.10.1"
8
+ VERSION = "0.10.2"
9
9
  end
10
10
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  require 'socket'
7
7
 
@@ -128,7 +128,12 @@ module IO::Endpoint
128
128
  socket.bind(local_address.to_sockaddr)
129
129
 
130
130
  if backlog
131
- socket.listen(backlog)
131
+ begin
132
+ # Generally speaking, bind/listen is a common pattern, but it's not applicable to all socket types. We ignore the error if it's not supported as the alternative is exposing this upstream, which seems less desirable than handling it here. In other words, `bind` in this context means "prepare it to accept connections", whatever that means for the given socket type.
133
+ socket.listen(backlog)
134
+ rescue Errno::EOPNOTSUPP
135
+ # Ignore.
136
+ end
132
137
  end
133
138
  rescue
134
139
  socket&.close
data/lib/io/endpoint.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
6
  require_relative "endpoint/version"
7
7
  require_relative "endpoint/generic"
data/license.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2023, by Samuel Williams.
3
+ Copyright, 2023-2024, by Samuel Williams.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
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.10.1
4
+ version: 0.10.2
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-04-23 00:00:00.000000000 Z
40
+ date: 2024-04-24 00:00:00.000000000 Z
41
41
  dependencies: []
42
42
  description:
43
43
  email:
@@ -65,6 +65,7 @@ licenses:
65
65
  - MIT
66
66
  metadata:
67
67
  documentation_uri: https://socketry.github.io/io-endpoint
68
+ source_code_uri: https://github.com/socketry/io-endpoint.git
68
69
  post_install_message:
69
70
  rdoc_options: []
70
71
  require_paths:
@@ -73,7 +74,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
74
  requirements:
74
75
  - - ">="
75
76
  - !ruby/object:Gem::Version
76
- version: '3.0'
77
+ version: '3.1'
77
78
  required_rubygems_version: !ruby/object:Gem::Requirement
78
79
  requirements:
79
80
  - - ">="
metadata.gz.sig CHANGED
@@ -1 +1,2 @@
1
- ��9��|޸�އG��@4�%�5���ސI�~:�c��29'fFB'5�3��x��R��w%�F-6Ϥ2 �lI�%�s_B4��S6j0G}� Sȃ�,�R���ȫ�h���W��{Zy�����;۝ɜ|�ཀྵ6G��0�� 1��nw*BR�.L077 ��\�Z?���Q�<��#E���{zm+BO����C��ZG_'83 ��qU��S�#������p�U�e4cdֵba2���P6�� ZlSC���n���<B���Au�� x���Q���9�d�g���Q�Q����C���ꫳ�SG��Tی�hW9���Gvqk>�T.�遌|N�����' ���)���:
1
+ 57���f��S�Ш������Α����Y�|W}��!���QL���2b���>n��+�>�Djf^3K!��rD V�&>��I��rz l#�_��0x߉�i��u1��x���ωë�6Hr��ˋ��,�몎�6�ѝ�{�<F��|�>��ʱ�<lS�X yaizf��ҡ�hZ��o)>�����b2T��sy��YMaNזVUI��S��5V�*���XCw����8.n6t�Fu�J�Jtg��\��[ ���k *L��M=�dQ�s!dz��-�{��/.���;㝉%��P�y;��S!�<��DGf{��of<ˊ�Y�gĆ���$'(>D�>�}��/_ 1��a
2
+ A.X����s�5w��$薹�S]�