anycable-core 1.1.0.rc1 → 1.1.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 +4 -4
- data/CHANGELOG.md +21 -1
- data/README.md +2 -0
- data/lib/anycable/cli.rb +1 -1
- data/lib/anycable/config.rb +3 -1
- data/lib/anycable/grpc/config.rb +12 -2
- data/lib/anycable/grpc.rb +1 -2
- data/lib/anycable/version.rb +1 -1
- data/sig/anycable/rpc.rbs +2 -2
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c53c6eef6f814614854125b047e654fd9d5d95035df76c3a99b9f6b6567dfad
|
4
|
+
data.tar.gz: 4ab82cfb62467ae183e9af67b28ae9627b9ee92efb96890b9042fa78bd147536
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 532a44843ed5220efc7d6c9b8c9eefad351888b0f8cbf5645ca15f4b2be202f615102ee25c5017280b7998f09c97d8f6346611a7c44f4d2b6819a2f1863b11b5
|
7
|
+
data.tar.gz: 5b99db45b4795158bda35d0c6fd9c505fddf0b1dd0e28c051e1fe9af901bbef858c731a029500c22ec767d0934e71e0b642ee7c3c70315c69cdab71d2ef2e06f
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,27 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
-
## 1.1.
|
5
|
+
## 1.1.3 (2021-09-29)
|
6
|
+
|
7
|
+
- Added support for type coercion from Anyway Config 2.2. ([@palkan][])
|
8
|
+
|
9
|
+
## 1.1.2 (2021-09-10) 🤵👰
|
10
|
+
|
11
|
+
- Improved gRPC server args support. ([@palkan][])
|
12
|
+
|
13
|
+
Add ability to declare gRPC server args without namespacing (i.e., `"max_connection_age_ms"` instead of `"grpc.max_connection_age_ms"`). That makes it possible to use ENV vars to provide the gRPC configuration.
|
14
|
+
|
15
|
+
## 1.1.1 (2021-06-05)
|
16
|
+
|
17
|
+
- Fixed error message when RPC implementation is missing. ([@palkan][])
|
18
|
+
|
19
|
+
We haven't extracted `anycable-grpc` yet.
|
20
|
+
|
21
|
+
## 1.1.0 🚸 (2021-06-01)
|
22
|
+
|
23
|
+
- No changes since 1.1.0.rc1.
|
24
|
+
|
25
|
+
## 1.1.0.rc1 (2021-05-12)
|
6
26
|
|
7
27
|
- **BREAKING** Move middlewares from gRPC interceptors to custom implementation. ([@palkan][])
|
8
28
|
|
data/README.md
CHANGED
@@ -12,6 +12,8 @@ AnyCable allows you to use any WebSocket server (written in any language) as a r
|
|
12
12
|
|
13
13
|
AnyCable uses the same protocol as ActionCable, so you can use its [JavaScript client](https://www.npmjs.com/package/actioncable) without any monkey-patching.
|
14
14
|
|
15
|
+
> [AnyCable Pro](https://docs.anycable.io/pro) has been launched 🚀
|
16
|
+
|
15
17
|
<a href="https://evilmartians.com/">
|
16
18
|
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a>
|
17
19
|
|
data/lib/anycable/cli.rb
CHANGED
@@ -252,7 +252,7 @@ module AnyCable
|
|
252
252
|
return if AnyCable.server_builder
|
253
253
|
|
254
254
|
logger.error "AnyCable server builder must be configured. " \
|
255
|
-
"Make sure you've required a gem (e.g. `
|
255
|
+
"Make sure you've required a gem (e.g. `grpc`) or " \
|
256
256
|
"configured `AnyCable.server_builder` yourself"
|
257
257
|
exit(1)
|
258
258
|
end
|
data/lib/anycable/config.rb
CHANGED
@@ -46,7 +46,9 @@ module AnyCable
|
|
46
46
|
version_check_enabled: true
|
47
47
|
)
|
48
48
|
|
49
|
-
|
49
|
+
if respond_to?(:coerce_types)
|
50
|
+
coerce_types redis_sentinels: {type: nil, array: true}, debug: :boolean, version_check_enabled: :boolean
|
51
|
+
end
|
50
52
|
|
51
53
|
flag_options :debug
|
52
54
|
|
data/lib/anycable/grpc/config.rb
CHANGED
@@ -8,7 +8,7 @@ AnyCable::Config.attr_config(
|
|
8
8
|
rpc_max_waiting_requests: ::GRPC::RpcServer::DEFAULT_MAX_WAITING_REQUESTS,
|
9
9
|
rpc_poll_period: ::GRPC::RpcServer::DEFAULT_POLL_PERIOD,
|
10
10
|
rpc_pool_keep_alive: ::GRPC::Pool::DEFAULT_KEEP_ALIVE,
|
11
|
-
#
|
11
|
+
# https://github.com/grpc/grpc/blob/f526602bff029b8db50a8d57134d72da33d8a752/include/grpc/impl/codegen/grpc_types.h#L141-L351
|
12
12
|
rpc_server_args: {},
|
13
13
|
log_grpc: false
|
14
14
|
)
|
@@ -33,9 +33,19 @@ module AnyCable
|
|
33
33
|
max_waiting_requests: rpc_max_waiting_requests,
|
34
34
|
poll_period: rpc_poll_period,
|
35
35
|
pool_keep_alive: rpc_pool_keep_alive,
|
36
|
-
server_args:
|
36
|
+
server_args: normalized_grpc_server_args
|
37
37
|
}
|
38
38
|
end
|
39
|
+
|
40
|
+
def normalized_grpc_server_args
|
41
|
+
val = rpc_server_args
|
42
|
+
return {} unless val.is_a?(Hash)
|
43
|
+
|
44
|
+
val.transform_keys do |key|
|
45
|
+
skey = key.to_s
|
46
|
+
skey.start_with?("grpc.") ? skey : "grpc.#{skey}"
|
47
|
+
end
|
48
|
+
end
|
39
49
|
end
|
40
50
|
end
|
41
51
|
end
|
data/lib/anycable/grpc.rb
CHANGED
@@ -16,7 +16,6 @@ AnyCable.server_builder = ->(config) {
|
|
16
16
|
::GRPC.define_singleton_method(:logger) { AnyCable.logger } if config.log_grpc?
|
17
17
|
|
18
18
|
params = config.to_grpc_params
|
19
|
-
params[:host] = config.rpc_host
|
20
19
|
|
21
|
-
AnyCable::GRPC::Server.new(**params)
|
20
|
+
AnyCable::GRPC::Server.new(**params, host: config.rpc_host)
|
22
21
|
}
|
data/lib/anycable/version.rb
CHANGED
data/sig/anycable/rpc.rbs
CHANGED
@@ -19,13 +19,13 @@ module AnyCable
|
|
19
19
|
attr_accessor url: String
|
20
20
|
attr_accessor headers: protoMap
|
21
21
|
|
22
|
-
def initialize: (?url: String, ?headers: protoMap, ?cstate: protoMap
|
22
|
+
def initialize: (?url: String, ?headers: protoMap, ?cstate: protoMap?, ?istate: protoMap?) -> void
|
23
23
|
end
|
24
24
|
|
25
25
|
class EnvResponse
|
26
26
|
include _WithEnvState
|
27
27
|
|
28
|
-
def initialize: (?cstate: protoMap
|
28
|
+
def initialize: (?cstate: protoMap?, ?istate: protoMap?) -> void
|
29
29
|
end
|
30
30
|
|
31
31
|
interface _ProtoMessage
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anycable-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: anyway_config
|
@@ -227,11 +227,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
227
227
|
version: 2.6.0
|
228
228
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
229
229
|
requirements:
|
230
|
-
- - "
|
230
|
+
- - ">="
|
231
231
|
- !ruby/object:Gem::Version
|
232
|
-
version:
|
232
|
+
version: '0'
|
233
233
|
requirements: []
|
234
|
-
rubygems_version: 3.2.
|
234
|
+
rubygems_version: 3.2.22
|
235
235
|
signing_key:
|
236
236
|
specification_version: 4
|
237
237
|
summary: AnyCable core RPC implementation
|