anycable-core 1.1.0.rc1 → 1.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|