/// /// /// import peerconnection = require('../../../third_party/uproxy-lib/webrtc/peerconnection'); import signals = require('../../../third_party/uproxy-lib/webrtc/signals'); import handler = require('../../../third_party/uproxy-lib/handler/queue'); import ProxyConfig = require('./proxyconfig'); export interface SessionSnapshot { name: string; timestamp: number; channel_sent: number; channel_received: number; channel_buffered: number; channel_js_buffered: number; channel_queue_size: number; channel_queue_handling: boolean; socket_sent: number; socket_received: number; socket_queue_size: number; socket_queue_handling: boolean; } export interface RtcToNetSnapshot { sessions: SessionSnapshot[]; } export declare class RtcToNet { private static SNAPSHOTTING_INTERVAL_MS; proxyConfig: ProxyConfig; signalsForPeer: handler.QueueHandler; bytesReceivedFromPeer: handler.Queue; bytesSentToPeer: handler.Queue; onceReady: Promise; private fulfillStopping_; private onceStopping_; onceStopped: Promise; private peerConnection_; private pool_; private sessions_; startFromConfig: (proxyConfig: ProxyConfig, pcConfig: freedom_RTCPeerConnection.RTCConfiguration, obfuscate: boolean) => Promise; start: (proxyConfig: ProxyConfig, peerconnection: peerconnection.PeerConnection) => Promise; initiateSnapshotting: () => void; private getSnapshot; private onPeerOpenedChannel_; stop: () => Promise; private stopResources_; handleSignalFromPeer: (message: signals.Message) => void; toString: () => string; } export declare class Session { private dataChannel_; private proxyConfig_; private bytesReceivedFromPeer_; private bytesSentToPeer_; private tcpConnection_; onceReady: Promise; private fulfillStopping_; private onceStopping_; private onceStopped_; onceStopped: () => Promise; channelLabel: () => string; private socketSentBytes_; private socketReceivedBytes_; private channelSentBytes_; private channelReceivedBytes_; constructor(dataChannel_: peerconnection.DataChannel, proxyConfig_: ProxyConfig, bytesReceivedFromPeer_: handler.QueueFeeder, bytesSentToPeer_: handler.QueueFeeder); start: () => Promise; stop: () => Promise; private stopResources_; private receiveEndpointFromPeer_; private getTcpConnection_; private replyToPeer_; private getReplyFromInfo_; private getReplyFromError_; private sendOnChannel_; private sendOnSocket_; private linkSocketAndChannel_; private isAllowedAddress_; getSnapshot: () => Promise; longId: () => string; toString: () => string; private static nextTick_; }