/var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/build/src
NameSizeModeActions
generated/-0755rm
admin.d.ts4470644editdlrm
admin.js12770644editdlrm
admin.js.map4710644editdlrm
backoff-timeout.d.ts21870644editdlrm
backoff-timeout.js50710644editdlrm
backoff-timeout.js.map29110644editdlrm
call-credentials-filter.d.ts6840644editdlrm
call-credentials-filter.js32740644editdlrm
call-credentials-filter.js.map17240644editdlrm
call-credentials.d.ts24070644editdlrm
call-credentials.js51780644editdlrm
call-credentials.js.map33630644editdlrm
call-interface.d.ts28340644editdlrm
call-interface.js31430644editdlrm
call-interface.js.map18880644editdlrm
call-number.d.ts530644editdlrm
call-number.js8850644editdlrm
call-number.js.map2400644editdlrm
call-stream.d.ts57950644editdlrm
call-stream.js301440644editdlrm
call-stream.js.map185160644editdlrm
call.d.ts36000644editdlrm
call.js50730644editdlrm
call.js.map28850644editdlrm
channel-credentials.d.ts38590644editdlrm
channel-credentials.js73160644editdlrm
channel-credentials.js.map36790644editdlrm
channel-options.d.ts27530644editdlrm
channel-options.js24300644editdlrm
channel-options.js.map13460644editdlrm
channel.d.ts37470644editdlrm
channel.js27290644editdlrm
channel.js.map14230644editdlrm
channelz.d.ts39000644editdlrm
channelz.js229800644editdlrm
channelz.js.map173670644editdlrm
client-interceptors.d.ts46110644editdlrm
client-interceptors.js177870644editdlrm
client-interceptors.js.map106010644editdlrm
client.d.ts58170644editdlrm
client.js189740644editdlrm
client.js.map118550644editdlrm
compression-algorithms.d.ts940644editdlrm
compression-algorithms.js11580644editdlrm
compression-algorithms.js.map3110644editdlrm
compression-filter.d.ts12150644editdlrm
compression-filter.js103070644editdlrm
compression-filter.js.map62650644editdlrm
connectivity-state.d.ts1350644editdlrm
connectivity-state.js12640644editdlrm
connectivity-state.js.map3270644editdlrm
constants.d.ts9440644editdlrm
constants.js31060644editdlrm
constants.js.map9500644editdlrm
control-plane-status.d.ts1690644editdlrm
control-plane-status.js15810644editdlrm
control-plane-status.js.map6700644editdlrm
deadline-filter.d.ts8250644editdlrm
deadline-filter.js36280644editdlrm
deadline-filter.js.map25790644editdlrm
deadline.d.ts7520644editdlrm
deadline.js33510644editdlrm
deadline.js.map19190644editdlrm
duration.d.ts2670644editdlrm
duration.js12530644editdlrm
duration.js.map6060644editdlrm
error.d.ts1340644editdlrm
error.js12360644editdlrm
error.js.map5200644editdlrm
events.d.ts5210644editdlrm
events.js7110644editdlrm
events.js.map1310644editdlrm
experimental.d.ts13140644editdlrm
experimental.js42110644editdlrm
experimental.js.map7640644editdlrm
filter-stack.d.ts9690644editdlrm
filter-stack.js25420644editdlrm
filter-stack.js.map20900644editdlrm
filter.d.ts11920644editdlrm
filter.js11110644editdlrm
filter.js.map4640644editdlrm
http_proxy.d.ts7270644editdlrm
http_proxy.js94240644editdlrm
http_proxy.js.map60840644editdlrm
index.d.ts53500644editdlrm
index.js92340644editdlrm
index.js.map30990644editdlrm
internal-channel.d.ts48890644editdlrm
internal-channel.js214740644editdlrm
internal-channel.js.map142310644editdlrm
load-balancer-child-handler.d.ts8150644editdlrm
load-balancer-child-handler.js52360644editdlrm
load-balancer-child-handler.js.map32460644editdlrm
load-balancer-outlier-detection.d.ts26630644editdlrm
load-balancer-outlier-detection.js257850644editdlrm
load-balancer-outlier-detection.js.map183100644editdlrm
load-balancer-pick-first.d.ts28280644editdlrm
load-balancer-pick-first.js175090644editdlrm
load-balancer-pick-first.js.map95060644editdlrm
load-balancer-round-robin.d.ts8040644editdlrm
load-balancer-round-robin.js78160644editdlrm
load-balancer-round-robin.js.map50190644editdlrm
load-balancer.d.ts44530644editdlrm
load-balancer.js48450644editdlrm
load-balancer.js.map24280644editdlrm
load-balancing-call.d.ts18470644editdlrm
load-balancing-call.js116470644editdlrm
load-balancing-call.js.map75310644editdlrm
logging.d.ts4770644editdlrm
logging.js40060644editdlrm
logging.js.map27950644editdlrm
make-client.d.ts30020644editdlrm
make-client.js54980644editdlrm
make-client.js.map31120644editdlrm
max-message-size-filter.d.ts7620644editdlrm
max-message-size-filter.js33600644editdlrm
max-message-size-filter.js.map15960644editdlrm
metadata.d.ts32410644editdlrm
metadata.js88390644editdlrm
metadata.js.map56450644editdlrm
object-stream.d.ts16040644editdlrm
object-stream.js7180644editdlrm
object-stream.js.map1450644editdlrm
picker.d.ts30390644editdlrm
picker.js31080644editdlrm
picker.js.map12520644editdlrm
resolver-dns.d.ts2320644editdlrm
resolver-dns.js133900644editdlrm
resolver-dns.js.map75580644editdlrm
resolver-ip.d.ts390644editdlrm
resolver-ip.js38330644editdlrm
resolver-ip.js.map25120644editdlrm
resolver-uds.d.ts390644editdlrm
resolver-uds.js15220644editdlrm
resolver-uds.js.map8230644editdlrm
resolver.d.ts42880644editdlrm
resolver.js32310644editdlrm
resolver.js.map13990644editdlrm
resolving-call.d.ts17540644editdlrm
resolving-call.js107110644editdlrm
resolving-call.js.map85510644editdlrm
resolving-load-balancer.d.ts28390644editdlrm
resolving-load-balancer.js120270644editdlrm
resolving-load-balancer.js.map62850644editdlrm
retrying-call.d.ts35280644editdlrm
retrying-call.js246580644editdlrm
retrying-call.js.map183180644editdlrm
server-call.d.ts82830644editdlrm
server-call.js242810644editdlrm
server-call.js.map195340644editdlrm
server-credentials.d.ts5110644editdlrm
server-credentials.js28340644editdlrm
server-credentials.js.map17870644editdlrm
server.d.ts22140644editdlrm
server.js382510644editdlrm
server.js.map268510644editdlrm
service-config.d.ts21630644editdlrm
service-config.js161610644editdlrm
service-config.js.map104750644editdlrm
status-builder.d.ts6570644editdlrm
status-builder.js17670644editdlrm
status-builder.js.map9720644editdlrm
stream-decoder.d.ts3130644editdlrm
stream-decoder.js42670644editdlrm
stream-decoder.js.map27150644editdlrm
subchannel-address.d.ts9500644editdlrm
subchannel-address.js22280644editdlrm
subchannel-address.js.map11950644editdlrm
subchannel-call.d.ts22580644editdlrm
subchannel-call.js200120644editdlrm
subchannel-call.js.map111560644editdlrm
subchannel-interface.d.ts18420644editdlrm
subchannel-interface.js17030644editdlrm
subchannel-interface.js.map9740644editdlrm
subchannel-pool.d.ts14720644editdlrm
subchannel-pool.js56740644editdlrm
subchannel-pool.js.map24940644editdlrm
subchannel.d.ts46540644editdlrm
subchannel.js145900644editdlrm
subchannel.js.map81870644editdlrm
tls-helpers.d.ts1490644editdlrm
tls-helpers.js12720644editdlrm
tls-helpers.js.map5020644editdlrm
transport.d.ts44730644editdlrm
transport.js268880644editdlrm
transport.js.map148010644editdlrm
uri-parser.d.ts3570644editdlrm
uri-parser.js32740644editdlrm
uri-parser.js.map20100644editdlrm
Edit: /var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/build/src/channelz.js (22980B)
"use strict"; /* * Copyright 2021 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. * */ Object.defineProperty(exports, "__esModule", { value: true }); exports.setup = exports.getChannelzServiceDefinition = exports.getChannelzHandlers = exports.unregisterChannelzRef = exports.registerChannelzSocket = exports.registerChannelzServer = exports.registerChannelzSubchannel = exports.registerChannelzChannel = exports.ChannelzCallTracker = exports.ChannelzChildrenTracker = exports.ChannelzTrace = void 0; const net_1 = require("net"); const connectivity_state_1 = require("./connectivity-state"); const constants_1 = require("./constants"); const subchannel_address_1 = require("./subchannel-address"); const admin_1 = require("./admin"); const make_client_1 = require("./make-client"); function channelRefToMessage(ref) { return { channel_id: ref.id, name: ref.name }; } function subchannelRefToMessage(ref) { return { subchannel_id: ref.id, name: ref.name }; } function serverRefToMessage(ref) { return { server_id: ref.id }; } function socketRefToMessage(ref) { return { socket_id: ref.id, name: ref.name }; } /** * The loose upper bound on the number of events that should be retained in a * trace. This may be exceeded by up to a factor of 2. Arbitrarily chosen as a * number that should be large enough to contain the recent relevant * information, but small enough to not use excessive memory. */ const TARGET_RETAINED_TRACES = 32; class ChannelzTrace { constructor() { this.events = []; this.eventsLogged = 0; this.creationTimestamp = new Date(); } addTrace(severity, description, child) { const timestamp = new Date(); this.events.push({ description: description, severity: severity, timestamp: timestamp, childChannel: (child === null || child === void 0 ? void 0 : child.kind) === 'channel' ? child : undefined, childSubchannel: (child === null || child === void 0 ? void 0 : child.kind) === 'subchannel' ? child : undefined }); // Whenever the trace array gets too large, discard the first half if (this.events.length >= TARGET_RETAINED_TRACES * 2) { this.events = this.events.slice(TARGET_RETAINED_TRACES); } this.eventsLogged += 1; } getTraceMessage() { return { creation_timestamp: dateToProtoTimestamp(this.creationTimestamp), num_events_logged: this.eventsLogged, events: this.events.map(event => { return { description: event.description, severity: event.severity, timestamp: dateToProtoTimestamp(event.timestamp), channel_ref: event.childChannel ? channelRefToMessage(event.childChannel) : null, subchannel_ref: event.childSubchannel ? subchannelRefToMessage(event.childSubchannel) : null }; }) }; } } exports.ChannelzTrace = ChannelzTrace; class ChannelzChildrenTracker { constructor() { this.channelChildren = new Map(); this.subchannelChildren = new Map(); this.socketChildren = new Map(); } refChild(child) { var _a, _b, _c; switch (child.kind) { case 'channel': { let trackedChild = (_a = this.channelChildren.get(child.id)) !== null && _a !== void 0 ? _a : { ref: child, count: 0 }; trackedChild.count += 1; this.channelChildren.set(child.id, trackedChild); break; } case 'subchannel': { let trackedChild = (_b = this.subchannelChildren.get(child.id)) !== null && _b !== void 0 ? _b : { ref: child, count: 0 }; trackedChild.count += 1; this.subchannelChildren.set(child.id, trackedChild); break; } case 'socket': { let trackedChild = (_c = this.socketChildren.get(child.id)) !== null && _c !== void 0 ? _c : { ref: child, count: 0 }; trackedChild.count += 1; this.socketChildren.set(child.id, trackedChild); break; } } } unrefChild(child) { switch (child.kind) { case 'channel': { let trackedChild = this.channelChildren.get(child.id); if (trackedChild !== undefined) { trackedChild.count -= 1; if (trackedChild.count === 0) { this.channelChildren.delete(child.id); } else { this.channelChildren.set(child.id, trackedChild); } } break; } case 'subchannel': { let trackedChild = this.subchannelChildren.get(child.id); if (trackedChild !== undefined) { trackedChild.count -= 1; if (trackedChild.count === 0) { this.subchannelChildren.delete(child.id); } else { this.subchannelChildren.set(child.id, trackedChild); } } break; } case 'socket': { let trackedChild = this.socketChildren.get(child.id); if (trackedChild !== undefined) { trackedChild.count -= 1; if (trackedChild.count === 0) { this.socketChildren.delete(child.id); } else { this.socketChildren.set(child.id, trackedChild); } } break; } } } getChildLists() { const channels = []; for (const { ref } of this.channelChildren.values()) { channels.push(ref); } const subchannels = []; for (const { ref } of this.subchannelChildren.values()) { subchannels.push(ref); } const sockets = []; for (const { ref } of this.socketChildren.values()) { sockets.push(ref); } return { channels, subchannels, sockets }; } } exports.ChannelzChildrenTracker = ChannelzChildrenTracker; class ChannelzCallTracker { constructor() { this.callsStarted = 0; this.callsSucceeded = 0; this.callsFailed = 0; this.lastCallStartedTimestamp = null; } addCallStarted() { this.callsStarted += 1; this.lastCallStartedTimestamp = new Date(); } addCallSucceeded() { this.callsSucceeded += 1; } addCallFailed() { this.callsFailed += 1; } } exports.ChannelzCallTracker = ChannelzCallTracker; let nextId = 1; function getNextId() { return nextId++; } const channels = []; const subchannels = []; const servers = []; const sockets = []; function registerChannelzChannel(name, getInfo, channelzEnabled) { const id = getNextId(); const ref = { id, name, kind: 'channel' }; if (channelzEnabled) { channels[id] = { ref, getInfo }; } return ref; } exports.registerChannelzChannel = registerChannelzChannel; function registerChannelzSubchannel(name, getInfo, channelzEnabled) { const id = getNextId(); const ref = { id, name, kind: 'subchannel' }; if (channelzEnabled) { subchannels[id] = { ref, getInfo }; } return ref; } exports.registerChannelzSubchannel = registerChannelzSubchannel; function registerChannelzServer(getInfo, channelzEnabled) { const id = getNextId(); const ref = { id, kind: 'server' }; if (channelzEnabled) { servers[id] = { ref, getInfo }; } return ref; } exports.registerChannelzServer = registerChannelzServer; function registerChannelzSocket(name, getInfo, channelzEnabled) { const id = getNextId(); const ref = { id, name, kind: 'socket' }; if (channelzEnabled) { sockets[id] = { ref, getInfo }; } return ref; } exports.registerChannelzSocket = registerChannelzSocket; function unregisterChannelzRef(ref) { switch (ref.kind) { case 'channel': delete channels[ref.id]; return; case 'subchannel': delete subchannels[ref.id]; return; case 'server': delete servers[ref.id]; return; case 'socket': delete sockets[ref.id]; return; } } exports.unregisterChannelzRef = unregisterChannelzRef; /** * Parse a single section of an IPv6 address as two bytes * @param addressSection A hexadecimal string of length up to 4 * @returns The pair of bytes representing this address section */ function parseIPv6Section(addressSection) { const numberValue = Number.parseInt(addressSection, 16); return [numberValue / 256 | 0, numberValue % 256]; } /** * Parse a chunk of an IPv6 address string to some number of bytes * @param addressChunk Some number of segments of up to 4 hexadecimal * characters each, joined by colons. * @returns The list of bytes representing this address chunk */ function parseIPv6Chunk(addressChunk) { if (addressChunk === '') { return []; } const bytePairs = addressChunk.split(':').map(section => parseIPv6Section(section)); const result = []; return result.concat(...bytePairs); } /** * Converts an IPv4 or IPv6 address from string representation to binary * representation * @param ipAddress an IP address in standard IPv4 or IPv6 text format * @returns */ function ipAddressStringToBuffer(ipAddress) { if ((0, net_1.isIPv4)(ipAddress)) { return Buffer.from(Uint8Array.from(ipAddress.split('.').map(segment => Number.parseInt(segment)))); } else if ((0, net_1.isIPv6)(ipAddress)) { let leftSection; let rightSection; const doubleColonIndex = ipAddress.indexOf('::'); if (doubleColonIndex === -1) { leftSection = ipAddress; rightSection = ''; } else { leftSection = ipAddress.substring(0, doubleColonIndex); rightSection = ipAddress.substring(doubleColonIndex + 2); } const leftBuffer = Buffer.from(parseIPv6Chunk(leftSection)); const rightBuffer = Buffer.from(parseIPv6Chunk(rightSection)); const middleBuffer = Buffer.alloc(16 - leftBuffer.length - rightBuffer.length, 0); return Buffer.concat([leftBuffer, middleBuffer, rightBuffer]); } else { return null; } } function connectivityStateToMessage(state) { switch (state) { case connectivity_state_1.ConnectivityState.CONNECTING: return { state: 'CONNECTING' }; case connectivity_state_1.ConnectivityState.IDLE: return { state: 'IDLE' }; case connectivity_state_1.ConnectivityState.READY: return { state: 'READY' }; case connectivity_state_1.ConnectivityState.SHUTDOWN: return { state: 'SHUTDOWN' }; case connectivity_state_1.ConnectivityState.TRANSIENT_FAILURE: return { state: 'TRANSIENT_FAILURE' }; default: return { state: 'UNKNOWN' }; } } function dateToProtoTimestamp(date) { if (!date) { return null; } const millisSinceEpoch = date.getTime(); return { seconds: (millisSinceEpoch / 1000) | 0, nanos: (millisSinceEpoch % 1000) * 1000000 }; } function getChannelMessage(channelEntry) { const resolvedInfo = channelEntry.getInfo(); return { ref: channelRefToMessage(channelEntry.ref), data: { target: resolvedInfo.target, state: connectivityStateToMessage(resolvedInfo.state), calls_started: resolvedInfo.callTracker.callsStarted, calls_succeeded: resolvedInfo.callTracker.callsSucceeded, calls_failed: resolvedInfo.callTracker.callsFailed, last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp), trace: resolvedInfo.trace.getTraceMessage() }, channel_ref: resolvedInfo.children.channels.map(ref => channelRefToMessage(ref)), subchannel_ref: resolvedInfo.children.subchannels.map(ref => subchannelRefToMessage(ref)) }; } function GetChannel(call, callback) { const channelId = Number.parseInt(call.request.channel_id); const channelEntry = channels[channelId]; if (channelEntry === undefined) { callback({ 'code': constants_1.Status.NOT_FOUND, 'details': 'No channel data found for id ' + channelId }); return; } callback(null, { channel: getChannelMessage(channelEntry) }); } function GetTopChannels(call, callback) { const maxResults = Number.parseInt(call.request.max_results); const resultList = []; let i = Number.parseInt(call.request.start_channel_id); for (; i < channels.length; i++) { const channelEntry = channels[i]; if (channelEntry === undefined) { continue; } resultList.push(getChannelMessage(channelEntry)); if (resultList.length >= maxResults) { break; } } callback(null, { channel: resultList, end: i >= servers.length }); } function getServerMessage(serverEntry) { const resolvedInfo = serverEntry.getInfo(); return { ref: serverRefToMessage(serverEntry.ref), data: { calls_started: resolvedInfo.callTracker.callsStarted, calls_succeeded: resolvedInfo.callTracker.callsSucceeded, calls_failed: resolvedInfo.callTracker.callsFailed, last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp), trace: resolvedInfo.trace.getTraceMessage() }, listen_socket: resolvedInfo.listenerChildren.sockets.map(ref => socketRefToMessage(ref)) }; } function GetServer(call, callback) { const serverId = Number.parseInt(call.request.server_id); const serverEntry = servers[serverId]; if (serverEntry === undefined) { callback({ 'code': constants_1.Status.NOT_FOUND, 'details': 'No server data found for id ' + serverId }); return; } callback(null, { server: getServerMessage(serverEntry) }); } function GetServers(call, callback) { const maxResults = Number.parseInt(call.request.max_results); const resultList = []; let i = Number.parseInt(call.request.start_server_id); for (; i < servers.length; i++) { const serverEntry = servers[i]; if (serverEntry === undefined) { continue; } resultList.push(getServerMessage(serverEntry)); if (resultList.length >= maxResults) { break; } } callback(null, { server: resultList, end: i >= servers.length }); } function GetSubchannel(call, callback) { const subchannelId = Number.parseInt(call.request.subchannel_id); const subchannelEntry = subchannels[subchannelId]; if (subchannelEntry === undefined) { callback({ 'code': constants_1.Status.NOT_FOUND, 'details': 'No subchannel data found for id ' + subchannelId }); return; } const resolvedInfo = subchannelEntry.getInfo(); const subchannelMessage = { ref: subchannelRefToMessage(subchannelEntry.ref), data: { target: resolvedInfo.target, state: connectivityStateToMessage(resolvedInfo.state), calls_started: resolvedInfo.callTracker.callsStarted, calls_succeeded: resolvedInfo.callTracker.callsSucceeded, calls_failed: resolvedInfo.callTracker.callsFailed, last_call_started_timestamp: dateToProtoTimestamp(resolvedInfo.callTracker.lastCallStartedTimestamp), trace: resolvedInfo.trace.getTraceMessage() }, socket_ref: resolvedInfo.children.sockets.map(ref => socketRefToMessage(ref)) }; callback(null, { subchannel: subchannelMessage }); } function subchannelAddressToAddressMessage(subchannelAddress) { var _a; if ((0, subchannel_address_1.isTcpSubchannelAddress)(subchannelAddress)) { return { address: 'tcpip_address', tcpip_address: { ip_address: (_a = ipAddressStringToBuffer(subchannelAddress.host)) !== null && _a !== void 0 ? _a : undefined, port: subchannelAddress.port } }; } else { return { address: 'uds_address', uds_address: { filename: subchannelAddress.path } }; } } function GetSocket(call, callback) { var _a, _b, _c, _d, _e; const socketId = Number.parseInt(call.request.socket_id); const socketEntry = sockets[socketId]; if (socketEntry === undefined) { callback({ 'code': constants_1.Status.NOT_FOUND, 'details': 'No socket data found for id ' + socketId }); return; } const resolvedInfo = socketEntry.getInfo(); const securityMessage = resolvedInfo.security ? { model: 'tls', tls: { cipher_suite: resolvedInfo.security.cipherSuiteStandardName ? 'standard_name' : 'other_name', standard_name: (_a = resolvedInfo.security.cipherSuiteStandardName) !== null && _a !== void 0 ? _a : undefined, other_name: (_b = resolvedInfo.security.cipherSuiteOtherName) !== null && _b !== void 0 ? _b : undefined, local_certificate: (_c = resolvedInfo.security.localCertificate) !== null && _c !== void 0 ? _c : undefined, remote_certificate: (_d = resolvedInfo.security.remoteCertificate) !== null && _d !== void 0 ? _d : undefined } } : null; const socketMessage = { ref: socketRefToMessage(socketEntry.ref), local: resolvedInfo.localAddress ? subchannelAddressToAddressMessage(resolvedInfo.localAddress) : null, remote: resolvedInfo.remoteAddress ? subchannelAddressToAddressMessage(resolvedInfo.remoteAddress) : null, remote_name: (_e = resolvedInfo.remoteName) !== null && _e !== void 0 ? _e : undefined, security: securityMessage, data: { keep_alives_sent: resolvedInfo.keepAlivesSent, streams_started: resolvedInfo.streamsStarted, streams_succeeded: resolvedInfo.streamsSucceeded, streams_failed: resolvedInfo.streamsFailed, last_local_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastLocalStreamCreatedTimestamp), last_remote_stream_created_timestamp: dateToProtoTimestamp(resolvedInfo.lastRemoteStreamCreatedTimestamp), messages_received: resolvedInfo.messagesReceived, messages_sent: resolvedInfo.messagesSent, last_message_received_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageReceivedTimestamp), last_message_sent_timestamp: dateToProtoTimestamp(resolvedInfo.lastMessageSentTimestamp), local_flow_control_window: resolvedInfo.localFlowControlWindow ? { value: resolvedInfo.localFlowControlWindow } : null, remote_flow_control_window: resolvedInfo.remoteFlowControlWindow ? { value: resolvedInfo.remoteFlowControlWindow } : null, } }; callback(null, { socket: socketMessage }); } function GetServerSockets(call, callback) { const serverId = Number.parseInt(call.request.server_id); const serverEntry = servers[serverId]; if (serverEntry === undefined) { callback({ 'code': constants_1.Status.NOT_FOUND, 'details': 'No server data found for id ' + serverId }); return; } const startId = Number.parseInt(call.request.start_socket_id); const maxResults = Number.parseInt(call.request.max_results); const resolvedInfo = serverEntry.getInfo(); // If we wanted to include listener sockets in the result, this line would // instead say // const allSockets = resolvedInfo.listenerChildren.sockets.concat(resolvedInfo.sessionChildren.sockets).sort((ref1, ref2) => ref1.id - ref2.id); const allSockets = resolvedInfo.sessionChildren.sockets.sort((ref1, ref2) => ref1.id - ref2.id); const resultList = []; let i = 0; for (; i < allSockets.length; i++) { if (allSockets[i].id >= startId) { resultList.push(socketRefToMessage(allSockets[i])); if (resultList.length >= maxResults) { break; } } } callback(null, { socket_ref: resultList, end: i >= allSockets.length }); } function getChannelzHandlers() { return { GetChannel, GetTopChannels, GetServer, GetServers, GetSubchannel, GetSocket, GetServerSockets }; } exports.getChannelzHandlers = getChannelzHandlers; let loadedChannelzDefinition = null; function getChannelzServiceDefinition() { if (loadedChannelzDefinition) { return loadedChannelzDefinition; } /* The purpose of this complexity is to avoid loading @grpc/proto-loader at * runtime for users who will not use/enable channelz. */ const loaderLoadSync = require('@grpc/proto-loader').loadSync; const loadedProto = loaderLoadSync('channelz.proto', { keepCase: true, longs: String, enums: String, defaults: true, oneofs: true, includeDirs: [ `${__dirname}/../../proto` ] }); const channelzGrpcObject = (0, make_client_1.loadPackageDefinition)(loadedProto); loadedChannelzDefinition = channelzGrpcObject.grpc.channelz.v1.Channelz.service; return loadedChannelzDefinition; } exports.getChannelzServiceDefinition = getChannelzServiceDefinition; function setup() { (0, admin_1.registerAdminService)(getChannelzServiceDefinition, getChannelzHandlers); } exports.setup = setup; //# sourceMappingURL=channelz.js.map