websocket-server 1.1.4-java → 1.1.5-java

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: ed1041a901164c473dbfb099e709e6195fc9f206fca0659125b9a417dc911312
4
- data.tar.gz: 230e76a31baf6d4d7647b4f21b76c60e36bcf0f1a9860d7cffcf20010387a751
3
+ metadata.gz: 58298e46b315a6b0a3b263a24b5ce82644a75e26b828d5bbee46b9206c4bb944
4
+ data.tar.gz: 8ab9652cb207c8c3f180ffb85792782b4665a9842d71299e5bf368fedef5737d
5
5
  SHA512:
6
- metadata.gz: 7f2b3c9a744be8afa350a108e8b2c39017f049a6ab9aaf3e0ea3c54886212d7a4c0d79daa0d86d48882e34f7a8a184e55508d2c33e2a9564dad477bc76b23ca6
7
- data.tar.gz: 40db817d3b7af688a03ff27bd40d9a6e7df7ef8ea4c843d81affb260b62845f8f7324546b7a02f5691ac7700a39244e751a7bda4c389a7a4b4d7b674ed80a2f5
6
+ metadata.gz: 94ad7799ec5713d5e4f0671158d488856f91e99cbd7e8d8dd9d9a06e622c273d28e95bfe3d377efe571ba779149bd62ec1dd8402ace97f66c11921b894b11312
7
+ data.tar.gz: ebefc7c8ec573d5266d72c76e54e7bcd240efe8289f3aefc74c679a29f83e61b27edc7a8a59ecaf96491948b84c2686ae4e9db0496fb30aad30c64226e101a18
@@ -41,6 +41,8 @@ module WebSocket
41
41
  inspect_ssl: false,
42
42
  idle_reading: 5 * 60, # seconds
43
43
  idle_writing: 30, # seconds
44
+ keep_alive: true,
45
+ max_queued_incoming_connections: 100,
44
46
  index_page: 'index.html',
45
47
  web_root: File.join(project_dir_path, 'web'),
46
48
  web_socket_path: '/websocket',
@@ -51,7 +53,7 @@ module WebSocket
51
53
  insecure_uri_pattern: /.*[<>&"].*/,
52
54
  allowed_file_name: /[A-Za-z0-9][-_A-Za-z0-9\\.]*/,
53
55
  log_requests: false
54
- }
56
+ }.freeze
55
57
  end
56
58
  end
57
59
  module_function :server_config
@@ -19,23 +19,15 @@ require_relative 'shutdown_hook'
19
19
  # The WebSocket module
20
20
  module WebSocket
21
21
  java_import Java::io.netty.bootstrap.ServerBootstrap
22
- java_import Java::io.netty.channel.group.DefaultChannelGroup
23
- java_import Java::io.netty.channel.nio.NioEventLoopGroup
24
- java_import Java::io.netty.handler.logging.LoggingHandler
25
- java_import Java::io.netty.handler.logging.LogLevel
26
- java_import Java::io.netty.util.concurrent.GlobalEventExecutor
22
+ java_import Java::io.netty.channel.ChannelOption
27
23
 
28
24
  # The InstanceMethods module
29
25
  module InstanceMethods
30
- def configure_handlers(&block)
31
- add_listener(self)
32
- channel_initializer << block if block_given?
33
- end
34
-
35
26
  def bootstrap
36
27
  @bootstrap = ServerBootstrap.new
37
28
  @bootstrap.group(boss_group, worker_group)
38
- @bootstrap.channel(Server::CHANNEL_TYPE)
29
+ @bootstrap.channel(channel_type)
30
+ @bootstrap.option(ChannelOption::SO_BACKLOG, max_queued_incoming_connections)
39
31
  @bootstrap.handler(logging_handler) if @options[:log_requests]
40
32
  @bootstrap.childHandler(channel_initializer)
41
33
  end
@@ -44,22 +36,6 @@ module WebSocket
44
36
  @channel_initializer ||= ::WebSocket::ChannelInitializer.new(channel_group, @options)
45
37
  end
46
38
 
47
- def boss_group
48
- @boss_group ||= NioEventLoopGroup.new(2)
49
- end
50
-
51
- def worker_group
52
- @worker_group ||= NioEventLoopGroup.new
53
- end
54
-
55
- def channel_group
56
- @channel_group ||= DefaultChannelGroup.new('server_channels', GlobalEventExecutor::INSTANCE)
57
- end
58
-
59
- def logging_handler
60
- LoggingHandler.new(LogLevel::INFO)
61
- end
62
-
63
39
  # rubocop: disable Metrics/AbcSize
64
40
  # rubocop: disable Metrics/MethodLength
65
41
  def run(params = {})
@@ -82,33 +58,6 @@ module WebSocket
82
58
  def port
83
59
  @port ||= (@options[:ssl] ? @options[:ssl_port] : @options[:port]).to_i
84
60
  end
85
-
86
- def shutdown
87
- channel_group.disconnect().awaitUninterruptibly()
88
- channel_group.close().awaitUninterruptibly()
89
- end
90
-
91
- def stop
92
- boss_group&.shutdownGracefully()
93
- worker_group&.shutdownGracefully()
94
- end
95
-
96
- def <<(handler)
97
- channel_initializer.handlers << handler
98
- end
99
-
100
- def add_listener(*listener)
101
- channel_initializer.add_listener(*listener)
102
- end
103
-
104
- # def all_exist?(*files)
105
- # files.all? { |f| File.exist?(f) }
106
- # end
107
-
108
- # def init_ssl_context(certificate, private_key)
109
- # return certificate_key_pair(certificate, private_key) if all_exist?(certificate, private_key)
110
- # options[:use_jdk_ssl_provider] ? jdk_ssl_provider : self_signed_certificate
111
- # end
112
61
  end
113
62
  # module ServerInstanceMethods
114
63
  end
@@ -36,6 +36,15 @@ module WebSocket
36
36
  channel_initializer.ssl_context = context unless context.nil?
37
37
  end
38
38
 
39
+ def all_exist?(*files)
40
+ files.all? { |f| File.exist?(f) }
41
+ end
42
+
43
+ def init_ssl_context(certificate, private_key)
44
+ return certificate_key_pair(certificate, private_key) if all_exist?(certificate, private_key)
45
+ options[:use_jdk_ssl_provider] ? jdk_ssl_provider : self_signed_certificate
46
+ end
47
+
39
48
  def ssl_context
40
49
  @ssl_context ||= init_ssl_context(options[:ssl_certificate_file_path], options[:ssl_private_key_file_path])
41
50
  end
@@ -12,5 +12,5 @@
12
12
 
13
13
  # The WebSocket module
14
14
  module WebSocket
15
- VERSION = '1.1.4'.freeze
15
+ VERSION = '1.1.5'.freeze
16
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: websocket-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: java
6
6
  authors:
7
7
  - Nels Nelson
@@ -15,7 +15,7 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 1.1.3
18
+ version: 1.1.4
19
19
  name: tcp-server
20
20
  type: :runtime
21
21
  prerelease: false
@@ -23,7 +23,7 @@ dependencies:
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.1.3
26
+ version: 1.1.4
27
27
  force_ruby_platform: false
28
28
  description: Websocket Server for JRuby is a websocket server with a file server to
29
29
  support a demo javascript client application which interfaces with a demo echo server