/var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/src
NameSizeModeActions
generated/-0755rm
admin.ts13450644editdlrm
backoff-timeout.ts47190644editdlrm
call-credentials.ts65550644editdlrm
call-interface.ts49820644editdlrm
call-number.ts6940644editdlrm
call.ts54470644editdlrm
channel-credentials.ts87530644editdlrm
channel-options.ts41000644editdlrm
channel.ts55470644editdlrm
channelz.ts262260644editdlrm
client-interceptors.ts179010644editdlrm
client.ts248280644editdlrm
compression-algorithms.ts6820644editdlrm
compression-filter.ts101670644editdlrm
connectivity-state.ts6990644editdlrm
constants.ts16510644editdlrm
control-plane-status.ts12220644editdlrm
deadline.ts29350644editdlrm
duration.ts10960644editdlrm
error.ts10620644editdlrm
events.ts11080644editdlrm
experimental.ts13520644editdlrm
filter-stack.ts26740644editdlrm
filter.ts18870644editdlrm
http_proxy.ts88270644editdlrm
index.ts79180644editdlrm
internal-channel.ts218310644editdlrm
load-balancer-child-handler.ts48680644editdlrm
load-balancer-outlier-detection.ts250140644editdlrm
load-balancer-pick-first.ts160730644editdlrm
load-balancer-round-robin.ts75730644editdlrm
load-balancer.ts74830644editdlrm
load-balancing-call.ts105850644editdlrm
logging.ts34070644editdlrm
make-client.ts72010644editdlrm
max-message-size-filter.ts30490644editdlrm
metadata.ts89880644editdlrm
object-stream.ts22140644editdlrm
picker.ts43280644editdlrm
resolver-dns.ts131690644editdlrm
resolver-ip.ts35590644editdlrm
resolver-uds.ts16110644editdlrm
resolver.ts58050644editdlrm
resolving-call.ts98560644editdlrm
resolving-load-balancer.ts115080644editdlrm
retrying-call.ts230790644editdlrm
server-call.ts272560644editdlrm
server-credentials.ts28220644editdlrm
server.ts373340644editdlrm
service-config.ts158520644editdlrm
status-builder.ts17830644editdlrm
stream-decoder.ts35010644editdlrm
subchannel-address.ts23070644editdlrm
subchannel-call.ts181970644editdlrm
subchannel-interface.ts28310644editdlrm
subchannel-pool.ts54900644editdlrm
subchannel.ts137550644editdlrm
tls-helpers.ts10880644editdlrm
transport.ts252640644editdlrm
uri-parser.ts28140644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/src/picker.ts (4328B)
/* * Copyright 2019 gRPC authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { StatusObject } from './call-interface'; import { Metadata } from './metadata'; import { Status } from './constants'; import { LoadBalancer } from './load-balancer'; import { SubchannelInterface } from './subchannel-interface'; export enum PickResultType { COMPLETE, QUEUE, TRANSIENT_FAILURE, DROP, } export interface PickResult { pickResultType: PickResultType; /** * The subchannel to use as the transport for the call. Only meaningful if * `pickResultType` is COMPLETE. If null, indicates that the call should be * dropped. */ subchannel: SubchannelInterface | null; /** * The status object to end the call with. Populated if and only if * `pickResultType` is TRANSIENT_FAILURE. */ status: StatusObject | null; onCallStarted: (() => void) | null; onCallEnded: ((statusCode: Status) => void) | null; } export interface CompletePickResult extends PickResult { pickResultType: PickResultType.COMPLETE; subchannel: SubchannelInterface | null; status: null; onCallStarted: (() => void) | null; onCallEnded: ((statusCode: Status) => void) | null; } export interface QueuePickResult extends PickResult { pickResultType: PickResultType.QUEUE; subchannel: null; status: null; onCallStarted: null; onCallEnded: null; } export interface TransientFailurePickResult extends PickResult { pickResultType: PickResultType.TRANSIENT_FAILURE; subchannel: null; status: StatusObject; onCallStarted: null; onCallEnded: null; } export interface DropCallPickResult extends PickResult { pickResultType: PickResultType.DROP; subchannel: null; status: StatusObject; onCallStarted: null; onCallEnded: null; } export interface PickArgs { metadata: Metadata; extraPickInfo: { [key: string]: string }; } /** * A proxy object representing the momentary state of a load balancer. Picks * subchannels or returns other information based on that state. Should be * replaced every time the load balancer changes state. */ export interface Picker { pick(pickArgs: PickArgs): PickResult; } /** * A standard picker representing a load balancer in the TRANSIENT_FAILURE * state. Always responds to every pick request with an UNAVAILABLE status. */ export class UnavailablePicker implements Picker { private status: StatusObject; constructor(status?: StatusObject) { if (status !== undefined) { this.status = status; } else { this.status = { code: Status.UNAVAILABLE, details: 'No connection established', metadata: new Metadata(), }; } } pick(pickArgs: PickArgs): TransientFailurePickResult { return { pickResultType: PickResultType.TRANSIENT_FAILURE, subchannel: null, status: this.status, onCallStarted: null, onCallEnded: null }; } } /** * A standard picker representing a load balancer in the IDLE or CONNECTING * state. Always responds to every pick request with a QUEUE pick result * indicating that the pick should be tried again with the next `Picker`. Also * reports back to the load balancer that a connection should be established * once any pick is attempted. */ export class QueuePicker { private calledExitIdle = false; // Constructed with a load balancer. Calls exitIdle on it the first time pick is called constructor(private loadBalancer: LoadBalancer) {} pick(pickArgs: PickArgs): QueuePickResult { if (!this.calledExitIdle) { process.nextTick(() => { this.loadBalancer.exitIdle(); }); this.calledExitIdle = true; } return { pickResultType: PickResultType.QUEUE, subchannel: null, status: null, onCallStarted: null, onCallEnded: null }; } }