@finsemble/finsemble-electron-adapter 6.2.1 → 6.3.1-beta-1
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.
- package/dist/app.js +1 -1
- package/dist/e2o.js +1 -1
- package/dist/e2o_view.js +1 -1
- package/dist/exports.js +1 -1
- package/dist/grpc/grpc.ts +9 -0
- package/exports.js +2 -1
- package/node_modules/@grpc/grpc-js/README.md +2 -0
- package/node_modules/@grpc/grpc-js/build/src/admin.d.ts +11 -0
- package/node_modules/@grpc/grpc-js/build/src/admin.js +31 -0
- package/node_modules/@grpc/grpc-js/build/src/admin.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/call-credentials-filter.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/call-stream.d.ts +14 -5
- package/node_modules/@grpc/grpc-js/build/src/call-stream.js +56 -20
- package/node_modules/@grpc/grpc-js/build/src/call-stream.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/call.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/channel-options.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/channel.d.ts +16 -7
- package/node_modules/@grpc/grpc-js/build/src/channel.js +138 -59
- package/node_modules/@grpc/grpc-js/build/src/channel.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/channelz.d.ts +122 -0
- package/node_modules/@grpc/grpc-js/build/src/channelz.js +568 -0
- package/node_modules/@grpc/grpc-js/build/src/channelz.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/client.js +2 -1
- package/node_modules/@grpc/grpc-js/build/src/client.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/constants.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/deadline-filter.d.ts +3 -0
- package/node_modules/@grpc/grpc-js/build/src/deadline-filter.js +19 -5
- package/node_modules/@grpc/grpc-js/build/src/deadline-filter.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/experimental.d.ts +6 -5
- package/node_modules/@grpc/grpc-js/build/src/experimental.js +5 -2
- package/node_modules/@grpc/grpc-js/build/src/experimental.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts +4 -0
- package/node_modules/@grpc/grpc-js/build/src/filter-stack.js +14 -0
- package/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/filter.d.ts +2 -0
- package/node_modules/@grpc/grpc-js/build/src/filter.js +1 -0
- package/node_modules/@grpc/grpc-js/build/src/filter.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts +72 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/channelz.js +3 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts +10 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts +7 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts +10 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts +8 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts +10 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts +6 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts +8 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts +80 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts +64 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts +22 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts +73 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts +28 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts +42 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts +66 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js +16 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts +159 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts +14 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts +14 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts +36 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts +29 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts +34 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts +29 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts +26 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts +14 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts +34 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts +29 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts +80 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts +41 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts +54 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts +28 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts +66 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts +147 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts +43 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts +29 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts +70 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts +15 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts +28 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts +66 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts +28 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js +4 -0
- package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map +1 -0
- package/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts +1 -1
- package/node_modules/@grpc/grpc-js/build/src/http_proxy.js +11 -8
- package/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/index.d.ts +7 -4
- package/node_modules/@grpc/grpc-js/build/src/index.js +19 -5
- package/node_modules/@grpc/grpc-js/build/src/index.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js +8 -2
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js +56 -49
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js +34 -31
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts +17 -4
- package/node_modules/@grpc/grpc-js/build/src/load-balancer.js +36 -13
- package/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/logging.js +35 -4
- package/node_modules/@grpc/grpc-js/build/src/logging.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.d.ts +3 -3
- package/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/metadata.d.ts +7 -0
- package/node_modules/@grpc/grpc-js/build/src/metadata.js +11 -0
- package/node_modules/@grpc/grpc-js/build/src/metadata.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/picker.d.ts +5 -5
- package/node_modules/@grpc/grpc-js/build/src/picker.js +2 -2
- package/node_modules/@grpc/grpc-js/build/src/picker.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/resolver-ip.js +6 -5
- package/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/resolver.d.ts +3 -2
- package/node_modules/@grpc/grpc-js/build/src/resolver.js +1 -10
- package/node_modules/@grpc/grpc-js/build/src/resolver.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts +1 -1
- package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js +23 -18
- package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/server-call.js +7 -3
- package/node_modules/@grpc/grpc-js/build/src/server-call.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/server.d.ts +10 -0
- package/node_modules/@grpc/grpc-js/build/src/server.js +230 -42
- package/node_modules/@grpc/grpc-js/build/src/server.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/service-config.d.ts +5 -1
- package/node_modules/@grpc/grpc-js/build/src/service-config.js +23 -3
- package/node_modules/@grpc/grpc-js/build/src/service-config.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts +1 -0
- package/node_modules/@grpc/grpc-js/build/src/subchannel-address.js +17 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts +2 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js +2 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map +1 -1
- package/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts +30 -19
- package/node_modules/@grpc/grpc-js/build/src/subchannel.js +180 -78
- package/node_modules/@grpc/grpc-js/build/src/subchannel.js.map +1 -1
- package/node_modules/@grpc/grpc-js/node_modules/.bin/proto-loader-gen-types +15 -0
- package/node_modules/@grpc/grpc-js/node_modules/.bin/proto-loader-gen-types.cmd +7 -0
- package/node_modules/@grpc/grpc-js/package.json +9 -6
- package/node_modules/@grpc/grpc-js/proto/channelz.proto +564 -0
- package/node_modules/@grpc/grpc-js/src/admin.ts +39 -0
- package/node_modules/@grpc/grpc-js/src/call-credentials-filter.ts +3 -1
- package/node_modules/@grpc/grpc-js/src/call-stream.ts +75 -23
- package/node_modules/@grpc/grpc-js/src/call.ts +8 -4
- package/node_modules/@grpc/grpc-js/src/channel-options.ts +1 -0
- package/node_modules/@grpc/grpc-js/src/channel.ts +183 -73
- package/node_modules/@grpc/grpc-js/src/channelz.ts +727 -0
- package/node_modules/@grpc/grpc-js/src/client-interceptors.ts +8 -3
- package/node_modules/@grpc/grpc-js/src/client.ts +18 -16
- package/node_modules/@grpc/grpc-js/src/connectivity-state.ts +24 -0
- package/node_modules/@grpc/grpc-js/src/constants.ts +5 -1
- package/node_modules/@grpc/grpc-js/src/deadline-filter.ts +21 -5
- package/node_modules/@grpc/grpc-js/src/experimental.ts +36 -12
- package/node_modules/@grpc/grpc-js/src/filter-stack.ts +18 -0
- package/node_modules/@grpc/grpc-js/src/filter.ts +4 -0
- package/node_modules/@grpc/grpc-js/src/generated/channelz.ts +73 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts +13 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts +13 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts +11 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts +13 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts +10 -0
- package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts +11 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts +89 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts +68 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts +29 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts +76 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts +31 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts +45 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts +73 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts +178 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts +17 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts +19 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts +17 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts +19 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts +39 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts +33 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts +37 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts +33 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts +29 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts +19 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts +17 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts +19 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts +37 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts +33 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts +87 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts +45 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts +57 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts +31 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts +70 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts +150 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts +47 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts +33 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts +74 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts +19 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts +31 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts +70 -0
- package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts +31 -0
- package/node_modules/@grpc/grpc-js/src/http_proxy.ts +15 -11
- package/node_modules/@grpc/grpc-js/src/index.ts +29 -6
- package/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts +12 -3
- package/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts +19 -8
- package/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts +15 -9
- package/node_modules/@grpc/grpc-js/src/load-balancer.ts +60 -21
- package/node_modules/@grpc/grpc-js/src/logging.ts +43 -7
- package/node_modules/@grpc/grpc-js/src/make-client.ts +1 -1
- package/node_modules/@grpc/grpc-js/src/max-message-size-filter.ts +18 -7
- package/node_modules/@grpc/grpc-js/src/metadata.ts +12 -0
- package/node_modules/@grpc/grpc-js/src/picker.ts +8 -8
- package/node_modules/@grpc/grpc-js/src/resolver-dns.ts +8 -2
- package/node_modules/@grpc/grpc-js/src/resolver-ip.ts +25 -16
- package/node_modules/@grpc/grpc-js/src/resolver-uds.ts +1 -1
- package/node_modules/@grpc/grpc-js/src/resolver.ts +5 -12
- package/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts +36 -14
- package/node_modules/@grpc/grpc-js/src/server-call.ts +11 -5
- package/node_modules/@grpc/grpc-js/src/server.ts +250 -44
- package/node_modules/@grpc/grpc-js/src/service-config.ts +35 -6
- package/node_modules/@grpc/grpc-js/src/subchannel-address.ts +79 -0
- package/node_modules/@grpc/grpc-js/src/subchannel-pool.ts +2 -2
- package/node_modules/@grpc/grpc-js/src/subchannel.ts +206 -97
- package/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js +34 -0
- package/node_modules/@grpc/proto-loader/build/src/index.js +3 -0
- package/node_modules/@grpc/proto-loader/package.json +1 -1
- package/node_modules/{yargs/node_modules/y18n → y18n}/CHANGELOG.md +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/LICENSE +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/README.md +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/build/index.cjs +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/cjs.js +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/index.js +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/platform-shims/node.js +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/index.mjs +0 -0
- package/node_modules/{yargs/node_modules/y18n → y18n}/package.json +0 -0
- package/package.json +41 -24
- package/dist/e2o.js.LICENSE.txt +0 -12
- package/dist/e2o_view.js.LICENSE.txt +0 -12
- package/dist/grpc/grpc.js +0 -8
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.d.ts +0 -7
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.js +0 -83
- package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.js.map +0 -1
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
import {
|
|
19
19
|
LoadBalancer,
|
|
20
20
|
ChannelControlHelper,
|
|
21
|
+
LoadBalancingConfig,
|
|
22
|
+
registerDefaultLoadBalancerType,
|
|
21
23
|
registerLoadBalancerType,
|
|
22
|
-
LoadBalancingConfig
|
|
23
24
|
} from './load-balancer';
|
|
24
|
-
import { ConnectivityState } from './
|
|
25
|
+
import { ConnectivityState } from './connectivity-state';
|
|
25
26
|
import {
|
|
26
27
|
QueuePicker,
|
|
27
28
|
Picker,
|
|
@@ -30,12 +31,11 @@ import {
|
|
|
30
31
|
PickResultType,
|
|
31
32
|
UnavailablePicker,
|
|
32
33
|
} from './picker';
|
|
34
|
+
import { Subchannel, ConnectivityStateListener } from './subchannel';
|
|
33
35
|
import {
|
|
34
|
-
Subchannel,
|
|
35
|
-
ConnectivityStateListener,
|
|
36
36
|
SubchannelAddress,
|
|
37
37
|
subchannelAddressToString,
|
|
38
|
-
} from './subchannel';
|
|
38
|
+
} from './subchannel-address';
|
|
39
39
|
import * as logging from './logging';
|
|
40
40
|
import { LogVerbosity } from './constants';
|
|
41
41
|
|
|
@@ -62,10 +62,11 @@ export class PickFirstLoadBalancingConfig implements LoadBalancingConfig {
|
|
|
62
62
|
|
|
63
63
|
toJsonObject(): object {
|
|
64
64
|
return {
|
|
65
|
-
[TYPE_NAME]: {}
|
|
65
|
+
[TYPE_NAME]: {},
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
70
|
static createFromJson(obj: any) {
|
|
70
71
|
return new PickFirstLoadBalancingConfig();
|
|
71
72
|
}
|
|
@@ -83,7 +84,7 @@ class PickFirstPicker implements Picker {
|
|
|
83
84
|
pickResultType: PickResultType.COMPLETE,
|
|
84
85
|
subchannel: this.subchannel,
|
|
85
86
|
status: null,
|
|
86
|
-
|
|
87
|
+
extraFilterFactories: [],
|
|
87
88
|
onCallStarted: null,
|
|
88
89
|
};
|
|
89
90
|
}
|
|
@@ -228,6 +229,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
228
229
|
subchannel.removeConnectivityStateListener(
|
|
229
230
|
this.pickedSubchannelStateListener
|
|
230
231
|
);
|
|
232
|
+
this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
|
|
231
233
|
if (this.subchannels.length > 0) {
|
|
232
234
|
if (this.triedAllSubchannels) {
|
|
233
235
|
let newLBState: ConnectivityState;
|
|
@@ -320,6 +322,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
320
322
|
this.updateState(ConnectivityState.READY, new PickFirstPicker(subchannel));
|
|
321
323
|
subchannel.addConnectivityStateListener(this.pickedSubchannelStateListener);
|
|
322
324
|
subchannel.ref();
|
|
325
|
+
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
|
|
323
326
|
this.resetSubchannelList();
|
|
324
327
|
clearTimeout(this.connectionDelayTimeout);
|
|
325
328
|
}
|
|
@@ -338,6 +341,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
338
341
|
for (const subchannel of this.subchannels) {
|
|
339
342
|
subchannel.removeConnectivityStateListener(this.subchannelStateListener);
|
|
340
343
|
subchannel.unref();
|
|
344
|
+
this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
|
|
341
345
|
}
|
|
342
346
|
this.currentSubchannelIndex = 0;
|
|
343
347
|
this.subchannelStateCounts = {
|
|
@@ -368,6 +372,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
368
372
|
);
|
|
369
373
|
for (const subchannel of this.subchannels) {
|
|
370
374
|
subchannel.ref();
|
|
375
|
+
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
|
|
371
376
|
}
|
|
372
377
|
for (const subchannel of this.subchannels) {
|
|
373
378
|
subchannel.addConnectivityStateListener(this.subchannelStateListener);
|
|
@@ -448,6 +453,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
448
453
|
this.currentPick.removeConnectivityStateListener(
|
|
449
454
|
this.pickedSubchannelStateListener
|
|
450
455
|
);
|
|
456
|
+
this.channelControlHelper.removeChannelzChild(this.currentPick.getChannelzRef());
|
|
451
457
|
}
|
|
452
458
|
}
|
|
453
459
|
|
|
@@ -457,5 +463,10 @@ export class PickFirstLoadBalancer implements LoadBalancer {
|
|
|
457
463
|
}
|
|
458
464
|
|
|
459
465
|
export function setup(): void {
|
|
460
|
-
registerLoadBalancerType(
|
|
466
|
+
registerLoadBalancerType(
|
|
467
|
+
TYPE_NAME,
|
|
468
|
+
PickFirstLoadBalancer,
|
|
469
|
+
PickFirstLoadBalancingConfig
|
|
470
|
+
);
|
|
471
|
+
registerDefaultLoadBalancerType(TYPE_NAME);
|
|
461
472
|
}
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
import {
|
|
19
19
|
LoadBalancer,
|
|
20
20
|
ChannelControlHelper,
|
|
21
|
+
LoadBalancingConfig,
|
|
21
22
|
registerLoadBalancerType,
|
|
22
|
-
LoadBalancingConfig
|
|
23
23
|
} from './load-balancer';
|
|
24
|
-
import { ConnectivityState } from './
|
|
24
|
+
import { ConnectivityState } from './connectivity-state';
|
|
25
25
|
import {
|
|
26
26
|
QueuePicker,
|
|
27
27
|
Picker,
|
|
@@ -30,12 +30,11 @@ import {
|
|
|
30
30
|
PickResultType,
|
|
31
31
|
UnavailablePicker,
|
|
32
32
|
} from './picker';
|
|
33
|
+
import { Subchannel, ConnectivityStateListener } from './subchannel';
|
|
33
34
|
import {
|
|
34
|
-
Subchannel,
|
|
35
|
-
ConnectivityStateListener,
|
|
36
35
|
SubchannelAddress,
|
|
37
36
|
subchannelAddressToString,
|
|
38
|
-
} from './subchannel';
|
|
37
|
+
} from './subchannel-address';
|
|
39
38
|
import * as logging from './logging';
|
|
40
39
|
import { LogVerbosity } from './constants';
|
|
41
40
|
|
|
@@ -56,10 +55,11 @@ class RoundRobinLoadBalancingConfig implements LoadBalancingConfig {
|
|
|
56
55
|
|
|
57
56
|
toJsonObject(): object {
|
|
58
57
|
return {
|
|
59
|
-
[TYPE_NAME]: {}
|
|
58
|
+
[TYPE_NAME]: {},
|
|
60
59
|
};
|
|
61
60
|
}
|
|
62
61
|
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
63
63
|
static createFromJson(obj: any) {
|
|
64
64
|
return new RoundRobinLoadBalancingConfig();
|
|
65
65
|
}
|
|
@@ -78,7 +78,7 @@ class RoundRobinPicker implements Picker {
|
|
|
78
78
|
pickResultType: PickResultType.COMPLETE,
|
|
79
79
|
subchannel: pickedSubchannel,
|
|
80
80
|
status: null,
|
|
81
|
-
|
|
81
|
+
extraFilterFactories: [],
|
|
82
82
|
onCallStarted: null,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
@@ -128,7 +128,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
|
|
|
128
128
|
this.subchannelStateCounts[previousState] -= 1;
|
|
129
129
|
this.subchannelStateCounts[newState] += 1;
|
|
130
130
|
this.calculateAndUpdateState();
|
|
131
|
-
|
|
131
|
+
|
|
132
132
|
if (
|
|
133
133
|
newState === ConnectivityState.TRANSIENT_FAILURE ||
|
|
134
134
|
newState === ConnectivityState.IDLE
|
|
@@ -191,6 +191,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
|
|
|
191
191
|
for (const subchannel of this.subchannels) {
|
|
192
192
|
subchannel.removeConnectivityStateListener(this.subchannelStateListener);
|
|
193
193
|
subchannel.unref();
|
|
194
|
+
this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
|
|
194
195
|
}
|
|
195
196
|
this.subchannelStateCounts = {
|
|
196
197
|
[ConnectivityState.CONNECTING]: 0,
|
|
@@ -217,6 +218,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
|
|
|
217
218
|
for (const subchannel of this.subchannels) {
|
|
218
219
|
subchannel.ref();
|
|
219
220
|
subchannel.addConnectivityStateListener(this.subchannelStateListener);
|
|
221
|
+
this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
|
|
220
222
|
const subchannelState = subchannel.getConnectivityState();
|
|
221
223
|
this.subchannelStateCounts[subchannelState] += 1;
|
|
222
224
|
if (
|
|
@@ -247,5 +249,9 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
|
|
|
247
249
|
}
|
|
248
250
|
|
|
249
251
|
export function setup() {
|
|
250
|
-
registerLoadBalancerType(
|
|
252
|
+
registerLoadBalancerType(
|
|
253
|
+
TYPE_NAME,
|
|
254
|
+
RoundRobinLoadBalancer,
|
|
255
|
+
RoundRobinLoadBalancingConfig
|
|
256
|
+
);
|
|
251
257
|
}
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { ChannelOptions } from './channel-options';
|
|
19
|
-
import { Subchannel
|
|
20
|
-
import {
|
|
19
|
+
import { Subchannel } from './subchannel';
|
|
20
|
+
import { SubchannelAddress } from './subchannel-address';
|
|
21
|
+
import { ConnectivityState } from './connectivity-state';
|
|
21
22
|
import { Picker } from './picker';
|
|
22
|
-
import
|
|
23
|
-
import * as load_balancer_round_robin from './load-balancer-round-robin';
|
|
23
|
+
import { ChannelRef, SubchannelRef } from './channelz';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* A collection of functions associated with a channel that a load balancer
|
|
@@ -48,6 +48,26 @@ export interface ChannelControlHelper {
|
|
|
48
48
|
* Request new data from the resolver.
|
|
49
49
|
*/
|
|
50
50
|
requestReresolution(): void;
|
|
51
|
+
addChannelzChild(child: ChannelRef | SubchannelRef): void;
|
|
52
|
+
removeChannelzChild(child: ChannelRef | SubchannelRef): void;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Create a child ChannelControlHelper that overrides some methods of the
|
|
57
|
+
* parent while letting others pass through to the parent unmodified. This
|
|
58
|
+
* allows other code to create these children without needing to know about
|
|
59
|
+
* all of the methods to be passed through.
|
|
60
|
+
* @param parent
|
|
61
|
+
* @param overrides
|
|
62
|
+
*/
|
|
63
|
+
export function createChildChannelControlHelper(parent: ChannelControlHelper, overrides: Partial<ChannelControlHelper>): ChannelControlHelper {
|
|
64
|
+
return {
|
|
65
|
+
createSubchannel: overrides.createSubchannel?.bind(overrides) ?? parent.createSubchannel.bind(parent),
|
|
66
|
+
updateState: overrides.updateState?.bind(overrides) ?? parent.updateState.bind(parent),
|
|
67
|
+
requestReresolution: overrides.requestReresolution?.bind(overrides) ?? parent.requestReresolution.bind(parent),
|
|
68
|
+
addChannelzChild: overrides.addChannelzChild?.bind(overrides) ?? parent.addChannelzChild.bind(parent),
|
|
69
|
+
removeChannelzChild: overrides.removeChannelzChild?.bind(overrides) ?? parent.removeChannelzChild.bind(parent)
|
|
70
|
+
};
|
|
51
71
|
}
|
|
52
72
|
|
|
53
73
|
/**
|
|
@@ -102,17 +122,21 @@ export interface LoadBalancingConfig {
|
|
|
102
122
|
}
|
|
103
123
|
|
|
104
124
|
export interface LoadBalancingConfigConstructor {
|
|
105
|
-
|
|
125
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
126
|
+
new (...args: any): LoadBalancingConfig;
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
106
128
|
createFromJson(obj: any): LoadBalancingConfig;
|
|
107
129
|
}
|
|
108
130
|
|
|
109
131
|
const registeredLoadBalancerTypes: {
|
|
110
132
|
[name: string]: {
|
|
111
|
-
LoadBalancer: LoadBalancerConstructor
|
|
112
|
-
LoadBalancingConfig: LoadBalancingConfigConstructor
|
|
133
|
+
LoadBalancer: LoadBalancerConstructor;
|
|
134
|
+
LoadBalancingConfig: LoadBalancingConfigConstructor;
|
|
113
135
|
};
|
|
114
136
|
} = {};
|
|
115
137
|
|
|
138
|
+
let defaultLoadBalancerType: string | null = null;
|
|
139
|
+
|
|
116
140
|
export function registerLoadBalancerType(
|
|
117
141
|
typeName: string,
|
|
118
142
|
loadBalancerType: LoadBalancerConstructor,
|
|
@@ -120,17 +144,23 @@ export function registerLoadBalancerType(
|
|
|
120
144
|
) {
|
|
121
145
|
registeredLoadBalancerTypes[typeName] = {
|
|
122
146
|
LoadBalancer: loadBalancerType,
|
|
123
|
-
LoadBalancingConfig: loadBalancingConfigType
|
|
147
|
+
LoadBalancingConfig: loadBalancingConfigType,
|
|
124
148
|
};
|
|
125
149
|
}
|
|
126
150
|
|
|
151
|
+
export function registerDefaultLoadBalancerType(typeName: string) {
|
|
152
|
+
defaultLoadBalancerType = typeName;
|
|
153
|
+
}
|
|
154
|
+
|
|
127
155
|
export function createLoadBalancer(
|
|
128
156
|
config: LoadBalancingConfig,
|
|
129
157
|
channelControlHelper: ChannelControlHelper
|
|
130
158
|
): LoadBalancer | null {
|
|
131
159
|
const typeName = config.getLoadBalancerName();
|
|
132
160
|
if (typeName in registeredLoadBalancerTypes) {
|
|
133
|
-
return new registeredLoadBalancerTypes[typeName].LoadBalancer(
|
|
161
|
+
return new registeredLoadBalancerTypes[typeName].LoadBalancer(
|
|
162
|
+
channelControlHelper
|
|
163
|
+
);
|
|
134
164
|
} else {
|
|
135
165
|
return null;
|
|
136
166
|
}
|
|
@@ -140,40 +170,49 @@ export function isLoadBalancerNameRegistered(typeName: string): boolean {
|
|
|
140
170
|
return typeName in registeredLoadBalancerTypes;
|
|
141
171
|
}
|
|
142
172
|
|
|
143
|
-
export function getFirstUsableConfig(configs: LoadBalancingConfig[], defaultPickFirst?: true): LoadBalancingConfig;
|
|
144
173
|
export function getFirstUsableConfig(
|
|
145
174
|
configs: LoadBalancingConfig[],
|
|
146
|
-
|
|
175
|
+
fallbackTodefault?: true
|
|
176
|
+
): LoadBalancingConfig;
|
|
177
|
+
export function getFirstUsableConfig(
|
|
178
|
+
configs: LoadBalancingConfig[],
|
|
179
|
+
fallbackTodefault = false
|
|
147
180
|
): LoadBalancingConfig | null {
|
|
148
181
|
for (const config of configs) {
|
|
149
182
|
if (config.getLoadBalancerName() in registeredLoadBalancerTypes) {
|
|
150
183
|
return config;
|
|
151
184
|
}
|
|
152
185
|
}
|
|
153
|
-
if (
|
|
154
|
-
|
|
186
|
+
if (fallbackTodefault) {
|
|
187
|
+
if (defaultLoadBalancerType) {
|
|
188
|
+
return new registeredLoadBalancerTypes[
|
|
189
|
+
defaultLoadBalancerType
|
|
190
|
+
]!.LoadBalancingConfig();
|
|
191
|
+
} else {
|
|
192
|
+
return null;
|
|
193
|
+
}
|
|
155
194
|
} else {
|
|
156
195
|
return null;
|
|
157
196
|
}
|
|
158
197
|
}
|
|
159
198
|
|
|
199
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
160
200
|
export function validateLoadBalancingConfig(obj: any): LoadBalancingConfig {
|
|
161
|
-
if (!(obj !== null
|
|
201
|
+
if (!(obj !== null && typeof obj === 'object')) {
|
|
162
202
|
throw new Error('Load balancing config must be an object');
|
|
163
203
|
}
|
|
164
204
|
const keys = Object.keys(obj);
|
|
165
205
|
if (keys.length !== 1) {
|
|
166
|
-
throw new Error(
|
|
206
|
+
throw new Error(
|
|
207
|
+
'Provided load balancing config has multiple conflicting entries'
|
|
208
|
+
);
|
|
167
209
|
}
|
|
168
210
|
const typeName = keys[0];
|
|
169
211
|
if (typeName in registeredLoadBalancerTypes) {
|
|
170
|
-
return registeredLoadBalancerTypes[
|
|
212
|
+
return registeredLoadBalancerTypes[
|
|
213
|
+
typeName
|
|
214
|
+
].LoadBalancingConfig.createFromJson(obj[typeName]);
|
|
171
215
|
} else {
|
|
172
216
|
throw new Error(`Unrecognized load balancing config name ${typeName}`);
|
|
173
217
|
}
|
|
174
218
|
}
|
|
175
|
-
|
|
176
|
-
export function registerAll() {
|
|
177
|
-
load_balancer_pick_first.setup();
|
|
178
|
-
load_balancer_round_robin.setup();
|
|
179
|
-
}
|
|
@@ -17,10 +17,23 @@
|
|
|
17
17
|
|
|
18
18
|
import { LogVerbosity } from './constants';
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
const DEFAULT_LOGGER: Partial<Console> = {
|
|
21
|
+
error: (message?: any, ...optionalParams: any[]) => {
|
|
22
|
+
console.error('E ' + message, ...optionalParams);
|
|
23
|
+
},
|
|
24
|
+
info: (message?: any, ...optionalParams: any[]) => {
|
|
25
|
+
console.error('I ' + message, ...optionalParams);
|
|
26
|
+
},
|
|
27
|
+
debug: (message?: any, ...optionalParams: any[]) => {
|
|
28
|
+
console.error('D ' + message, ...optionalParams);
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
let _logger: Partial<Console> = DEFAULT_LOGGER;
|
|
21
33
|
let _logVerbosity: LogVerbosity = LogVerbosity.ERROR;
|
|
22
34
|
|
|
23
|
-
const verbosityString =
|
|
35
|
+
const verbosityString =
|
|
36
|
+
process.env.GRPC_NODE_VERBOSITY ?? process.env.GRPC_VERBOSITY ?? '';
|
|
24
37
|
|
|
25
38
|
switch (verbosityString.toUpperCase()) {
|
|
26
39
|
case 'DEBUG':
|
|
@@ -53,19 +66,39 @@ export const setLoggerVerbosity = (verbosity: LogVerbosity): void => {
|
|
|
53
66
|
|
|
54
67
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
55
68
|
export const log = (severity: LogVerbosity, ...args: any[]): void => {
|
|
56
|
-
|
|
57
|
-
|
|
69
|
+
let logFunction: typeof DEFAULT_LOGGER.error;
|
|
70
|
+
if (severity >= _logVerbosity) {
|
|
71
|
+
switch (severity) {
|
|
72
|
+
case LogVerbosity.DEBUG:
|
|
73
|
+
logFunction = _logger.debug;
|
|
74
|
+
break;
|
|
75
|
+
case LogVerbosity.INFO:
|
|
76
|
+
logFunction = _logger.info;
|
|
77
|
+
break;
|
|
78
|
+
case LogVerbosity.ERROR:
|
|
79
|
+
logFunction = _logger.error;
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
/* Fall back to _logger.error when other methods are not available for
|
|
83
|
+
* compatiblity with older behavior that always logged to _logger.error */
|
|
84
|
+
if (!logFunction) {
|
|
85
|
+
logFunction = _logger.error;
|
|
86
|
+
}
|
|
87
|
+
if (logFunction) {
|
|
88
|
+
logFunction.bind(_logger)(...args);
|
|
89
|
+
}
|
|
58
90
|
}
|
|
59
91
|
};
|
|
60
92
|
|
|
61
|
-
const tracersString =
|
|
93
|
+
const tracersString =
|
|
94
|
+
process.env.GRPC_NODE_TRACE ?? process.env.GRPC_TRACE ?? '';
|
|
62
95
|
const enabledTracers = new Set<string>();
|
|
63
96
|
const disabledTracers = new Set<string>();
|
|
64
97
|
for (const tracerName of tracersString.split(',')) {
|
|
65
98
|
if (tracerName.startsWith('-')) {
|
|
66
99
|
disabledTracers.add(tracerName.substring(1));
|
|
67
100
|
} else {
|
|
68
|
-
enabledTracers.add(tracerName)
|
|
101
|
+
enabledTracers.add(tracerName);
|
|
69
102
|
}
|
|
70
103
|
}
|
|
71
104
|
const allEnabled = enabledTracers.has('all');
|
|
@@ -75,7 +108,10 @@ export function trace(
|
|
|
75
108
|
tracer: string,
|
|
76
109
|
text: string
|
|
77
110
|
): void {
|
|
78
|
-
if (
|
|
111
|
+
if (
|
|
112
|
+
!disabledTracers.has(tracer) &&
|
|
113
|
+
(allEnabled || enabledTracers.has(tracer))
|
|
114
|
+
) {
|
|
79
115
|
log(severity, new Date().toISOString() + ' | ' + tracer + ' | ' + text);
|
|
80
116
|
}
|
|
81
117
|
}
|
|
@@ -98,7 +98,7 @@ export interface ServiceClientConstructor {
|
|
|
98
98
|
* keys.
|
|
99
99
|
* @param key key for check, string.
|
|
100
100
|
*/
|
|
101
|
-
function isPrototypePolluted(key: string):
|
|
101
|
+
function isPrototypePolluted(key: string): boolean {
|
|
102
102
|
return ['__proto__', 'prototype', 'constructor'].includes(key);
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -15,10 +15,14 @@
|
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import { BaseFilter, Filter, FilterFactory } from
|
|
19
|
-
import { Call, WriteObject } from
|
|
20
|
-
import {
|
|
21
|
-
|
|
18
|
+
import { BaseFilter, Filter, FilterFactory } from './filter';
|
|
19
|
+
import { Call, WriteObject } from './call-stream';
|
|
20
|
+
import {
|
|
21
|
+
Status,
|
|
22
|
+
DEFAULT_MAX_SEND_MESSAGE_LENGTH,
|
|
23
|
+
DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH,
|
|
24
|
+
} from './constants';
|
|
25
|
+
import { ChannelOptions } from './channel-options';
|
|
22
26
|
|
|
23
27
|
export class MaxMessageSizeFilter extends BaseFilter implements Filter {
|
|
24
28
|
private maxSendMessageSize: number = DEFAULT_MAX_SEND_MESSAGE_LENGTH;
|
|
@@ -44,7 +48,10 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
|
|
|
44
48
|
} else {
|
|
45
49
|
const concreteMessage = await message;
|
|
46
50
|
if (concreteMessage.message.length > this.maxSendMessageSize) {
|
|
47
|
-
this.callStream.cancelWithStatus(
|
|
51
|
+
this.callStream.cancelWithStatus(
|
|
52
|
+
Status.RESOURCE_EXHAUSTED,
|
|
53
|
+
`Sent message larger than max (${concreteMessage.message.length} vs. ${this.maxSendMessageSize})`
|
|
54
|
+
);
|
|
48
55
|
return Promise.reject<WriteObject>('Message too large');
|
|
49
56
|
} else {
|
|
50
57
|
return concreteMessage;
|
|
@@ -60,7 +67,10 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
|
|
|
60
67
|
} else {
|
|
61
68
|
const concreteMessage = await message;
|
|
62
69
|
if (concreteMessage.length > this.maxReceiveMessageSize) {
|
|
63
|
-
this.callStream.cancelWithStatus(
|
|
70
|
+
this.callStream.cancelWithStatus(
|
|
71
|
+
Status.RESOURCE_EXHAUSTED,
|
|
72
|
+
`Received message larger than max (${concreteMessage.length} vs. ${this.maxReceiveMessageSize})`
|
|
73
|
+
);
|
|
64
74
|
return Promise.reject<Buffer>('Message too large');
|
|
65
75
|
} else {
|
|
66
76
|
return concreteMessage;
|
|
@@ -69,7 +79,8 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
|
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
|
|
72
|
-
export class MaxMessageSizeFilterFactory
|
|
82
|
+
export class MaxMessageSizeFilterFactory
|
|
83
|
+
implements FilterFactory<MaxMessageSizeFilter> {
|
|
73
84
|
constructor(private readonly options: ChannelOptions) {}
|
|
74
85
|
|
|
75
86
|
createFilter(callStream: Call): MaxMessageSizeFilter {
|
|
@@ -242,6 +242,18 @@ export class Metadata {
|
|
|
242
242
|
return this.internalRepr;
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
+
/**
|
|
246
|
+
* This modifies the behavior of JSON.stringify to show an object
|
|
247
|
+
* representation of the metadata map.
|
|
248
|
+
*/
|
|
249
|
+
toJSON() {
|
|
250
|
+
const result: { [key: string]: MetadataValue[] } = {};
|
|
251
|
+
for (const [key, values] of this.internalRepr.entries()) {
|
|
252
|
+
result[key] = values;
|
|
253
|
+
}
|
|
254
|
+
return result;
|
|
255
|
+
}
|
|
256
|
+
|
|
245
257
|
/**
|
|
246
258
|
* Returns a new Metadata object based fields in a given IncomingHttpHeaders
|
|
247
259
|
* object.
|
|
@@ -47,7 +47,7 @@ export interface PickResult {
|
|
|
47
47
|
* provided by the load balancer to be used with the call. For technical
|
|
48
48
|
* reasons filters from this factory will not see sendMetadata events.
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
extraFilterFactories: FilterFactory<Filter>[];
|
|
51
51
|
onCallStarted: (() => void) | null;
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -55,7 +55,7 @@ export interface CompletePickResult extends PickResult {
|
|
|
55
55
|
pickResultType: PickResultType.COMPLETE;
|
|
56
56
|
subchannel: Subchannel | null;
|
|
57
57
|
status: null;
|
|
58
|
-
|
|
58
|
+
extraFilterFactories: FilterFactory<Filter>[];
|
|
59
59
|
onCallStarted: (() => void) | null;
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -63,7 +63,7 @@ export interface QueuePickResult extends PickResult {
|
|
|
63
63
|
pickResultType: PickResultType.QUEUE;
|
|
64
64
|
subchannel: null;
|
|
65
65
|
status: null;
|
|
66
|
-
|
|
66
|
+
extraFilterFactories: [];
|
|
67
67
|
onCallStarted: null;
|
|
68
68
|
}
|
|
69
69
|
|
|
@@ -71,7 +71,7 @@ export interface TransientFailurePickResult extends PickResult {
|
|
|
71
71
|
pickResultType: PickResultType.TRANSIENT_FAILURE;
|
|
72
72
|
subchannel: null;
|
|
73
73
|
status: StatusObject;
|
|
74
|
-
|
|
74
|
+
extraFilterFactories: [];
|
|
75
75
|
onCallStarted: null;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -79,13 +79,13 @@ export interface DropCallPickResult extends PickResult {
|
|
|
79
79
|
pickResultType: PickResultType.DROP;
|
|
80
80
|
subchannel: null;
|
|
81
81
|
status: StatusObject;
|
|
82
|
-
|
|
82
|
+
extraFilterFactories: [];
|
|
83
83
|
onCallStarted: null;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
export interface PickArgs {
|
|
87
87
|
metadata: Metadata;
|
|
88
|
-
extraPickInfo: {[key: string]: string};
|
|
88
|
+
extraPickInfo: { [key: string]: string };
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -119,7 +119,7 @@ export class UnavailablePicker implements Picker {
|
|
|
119
119
|
pickResultType: PickResultType.TRANSIENT_FAILURE,
|
|
120
120
|
subchannel: null,
|
|
121
121
|
status: this.status,
|
|
122
|
-
|
|
122
|
+
extraFilterFactories: [],
|
|
123
123
|
onCallStarted: null,
|
|
124
124
|
};
|
|
125
125
|
}
|
|
@@ -148,7 +148,7 @@ export class QueuePicker {
|
|
|
148
148
|
pickResultType: PickResultType.QUEUE,
|
|
149
149
|
subchannel: null,
|
|
150
150
|
status: null,
|
|
151
|
-
|
|
151
|
+
extraFilterFactories: [],
|
|
152
152
|
onCallStarted: null,
|
|
153
153
|
};
|
|
154
154
|
}
|
|
@@ -28,7 +28,7 @@ import { StatusObject } from './call-stream';
|
|
|
28
28
|
import { Metadata } from './metadata';
|
|
29
29
|
import * as logging from './logging';
|
|
30
30
|
import { LogVerbosity } from './constants';
|
|
31
|
-
import { SubchannelAddress, TcpSubchannelAddress } from './subchannel';
|
|
31
|
+
import { SubchannelAddress, TcpSubchannelAddress } from './subchannel-address';
|
|
32
32
|
import { GrpcUri, uriToString, splitHostPort } from './uri-parser';
|
|
33
33
|
import { isIPv6, isIPv4 } from 'net';
|
|
34
34
|
import { ChannelOptions } from './channel-options';
|
|
@@ -129,7 +129,13 @@ class DnsResolver implements Resolver {
|
|
|
129
129
|
if (this.ipResult !== null) {
|
|
130
130
|
trace('Returning IP address for target ' + uriToString(this.target));
|
|
131
131
|
setImmediate(() => {
|
|
132
|
-
this.listener.onSuccessfulResolution(
|
|
132
|
+
this.listener.onSuccessfulResolution(
|
|
133
|
+
this.ipResult!,
|
|
134
|
+
null,
|
|
135
|
+
null,
|
|
136
|
+
null,
|
|
137
|
+
{}
|
|
138
|
+
);
|
|
133
139
|
});
|
|
134
140
|
return;
|
|
135
141
|
}
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { isIPv4, isIPv6 } from
|
|
18
|
-
import { StatusObject } from
|
|
19
|
-
import { ChannelOptions } from
|
|
20
|
-
import { LogVerbosity, Status } from
|
|
21
|
-
import { Metadata } from
|
|
22
|
-
import { registerResolver, Resolver, ResolverListener } from
|
|
23
|
-
import { SubchannelAddress } from
|
|
24
|
-
import { GrpcUri, splitHostPort, uriToString } from
|
|
17
|
+
import { isIPv4, isIPv6 } from 'net';
|
|
18
|
+
import { StatusObject } from './call-stream';
|
|
19
|
+
import { ChannelOptions } from './channel-options';
|
|
20
|
+
import { LogVerbosity, Status } from './constants';
|
|
21
|
+
import { Metadata } from './metadata';
|
|
22
|
+
import { registerResolver, Resolver, ResolverListener } from './resolver';
|
|
23
|
+
import { SubchannelAddress } from './subchannel-address';
|
|
24
|
+
import { GrpcUri, splitHostPort, uriToString } from './uri-parser';
|
|
25
25
|
import * as logging from './logging';
|
|
26
26
|
|
|
27
27
|
const TRACER_NAME = 'ip_resolver';
|
|
@@ -52,7 +52,7 @@ class IpResolver implements Resolver {
|
|
|
52
52
|
this.error = {
|
|
53
53
|
code: Status.UNAVAILABLE,
|
|
54
54
|
details: `Unrecognized scheme ${target.scheme} in IP resolver`,
|
|
55
|
-
metadata: new Metadata()
|
|
55
|
+
metadata: new Metadata(),
|
|
56
56
|
};
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
@@ -63,21 +63,24 @@ class IpResolver implements Resolver {
|
|
|
63
63
|
this.error = {
|
|
64
64
|
code: Status.UNAVAILABLE,
|
|
65
65
|
details: `Failed to parse ${target.scheme} address ${path}`,
|
|
66
|
-
metadata: new Metadata()
|
|
66
|
+
metadata: new Metadata(),
|
|
67
67
|
};
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
if (
|
|
70
|
+
if (
|
|
71
|
+
(target.scheme === IPV4_SCHEME && !isIPv4(hostPort.host)) ||
|
|
72
|
+
(target.scheme === IPV6_SCHEME && !isIPv6(hostPort.host))
|
|
73
|
+
) {
|
|
71
74
|
this.error = {
|
|
72
75
|
code: Status.UNAVAILABLE,
|
|
73
76
|
details: `Failed to parse ${target.scheme} address ${path}`,
|
|
74
|
-
metadata: new Metadata()
|
|
77
|
+
metadata: new Metadata(),
|
|
75
78
|
};
|
|
76
79
|
return;
|
|
77
80
|
}
|
|
78
81
|
addresses.push({
|
|
79
82
|
host: hostPort.host,
|
|
80
|
-
port: hostPort.port ?? DEFAULT_PORT
|
|
83
|
+
port: hostPort.port ?? DEFAULT_PORT,
|
|
81
84
|
});
|
|
82
85
|
}
|
|
83
86
|
this.addresses = addresses;
|
|
@@ -86,9 +89,15 @@ class IpResolver implements Resolver {
|
|
|
86
89
|
updateResolution(): void {
|
|
87
90
|
process.nextTick(() => {
|
|
88
91
|
if (this.error) {
|
|
89
|
-
this.listener.onError(this.error)
|
|
92
|
+
this.listener.onError(this.error);
|
|
90
93
|
} else {
|
|
91
|
-
this.listener.onSuccessfulResolution(
|
|
94
|
+
this.listener.onSuccessfulResolution(
|
|
95
|
+
this.addresses,
|
|
96
|
+
null,
|
|
97
|
+
null,
|
|
98
|
+
null,
|
|
99
|
+
{}
|
|
100
|
+
);
|
|
92
101
|
}
|
|
93
102
|
});
|
|
94
103
|
}
|
|
@@ -104,4 +113,4 @@ class IpResolver implements Resolver {
|
|
|
104
113
|
export function setup() {
|
|
105
114
|
registerResolver(IPV4_SCHEME, IpResolver);
|
|
106
115
|
registerResolver(IPV6_SCHEME, IpResolver);
|
|
107
|
-
}
|
|
116
|
+
}
|