Moved function comments to their definitions

Increase readability of code a bit, the function descriptions were
automatically placed in the constructor when we moved from coffeescript.
This commit is contained in:
Cecylia Bocovich 2019-10-18 17:48:45 -04:00
parent 789285e0df
commit 64b66c855f
3 changed files with 17 additions and 23 deletions

View file

@ -15,15 +15,9 @@ class Broker {
// On construction, this Broker object does not do anything until
// |getClientOffer| is called.
constructor(url) {
// Promises some client SDP Offer.
// Registers this Snowflake with the broker using an HTTP POST request, and
// waits for a response containing some client offer that the Broker chooses
// for this proxy..
// TODO: Actually support multiple clients.
this.getClientOffer = this.getClientOffer.bind(this);
// urlSuffix for the broker is different depending on what action
// is desired.
this._postRequest = this._postRequest.bind(this);
this.url = url;
this.clients = 0;
if (0 === this.url.indexOf('localhost', 0)) {
@ -38,6 +32,11 @@ class Broker {
}
}
// Promises some client SDP Offer.
// Registers this Snowflake with the broker using an HTTP POST request, and
// waits for a response containing some client offer that the Broker chooses
// for this proxy..
// TODO: Actually support multiple clients.
getClientOffer(id) {
return new Promise((fulfill, reject) => {
var xhr;
@ -87,6 +86,8 @@ class Broker {
return this._postRequest(id, xhr, 'answer', JSON.stringify(answer));
}
// urlSuffix for the broker is different depending on what action
// is desired.
_postRequest(id, xhr, urlSuffix, payload) {
var err;
try {

View file

@ -17,17 +17,13 @@ class ProxyPair {
- @rateLimit specifies a rate limit on traffic
*/
constructor(relayAddr, rateLimit, pcConfig) {
// Given a WebRTC DataChannel, prepare callbacks.
this.prepareDataChannel = this.prepareDataChannel.bind(this);
// Assumes WebRTC datachannel is connected.
this.connectRelay = this.connectRelay.bind(this);
// WebRTC --> websocket
this.onClientToRelayMessage = this.onClientToRelayMessage.bind(this);
// websocket --> WebRTC
this.onRelayToClientMessage = this.onRelayToClientMessage.bind(this);
this.onError = this.onError.bind(this);
// Send as much data in both directions as the rate limit currently allows.
this.flush = this.flush.bind(this);
this.relayAddr = relayAddr;
this.rateLimit = rateLimit;
this.pcConfig = pcConfig;
@ -82,6 +78,7 @@ class ProxyPair {
return true;
}
// Given a WebRTC DataChannel, prepare callbacks.
prepareDataChannel(channel) {
channel.onopen = () => {
log('WebRTC DataChannel opened!');
@ -104,6 +101,7 @@ class ProxyPair {
return channel.onmessage = this.onClientToRelayMessage;
}
// Assumes WebRTC datachannel is connected.
connectRelay() {
var params, peer_ip, ref;
dbg('Connecting to relay...');
@ -148,12 +146,14 @@ class ProxyPair {
}), 5000);
}
// WebRTC --> websocket
onClientToRelayMessage(msg) {
dbg('WebRTC --> websocket data: ' + msg.data.byteLength + ' bytes');
this.c2rSchedule.push(msg.data);
return this.flush();
}
// websocket --> WebRTC
onRelayToClientMessage(event) {
dbg('websocket --> WebRTC data: ' + event.data.byteLength + ' bytes');
this.r2cSchedule.push(event.data);
@ -185,6 +185,7 @@ class ProxyPair {
this.onCleanup();
}
// Send as much data in both directions as the rate limit currently allows.
flush() {
var busy, checkChunks;
if (this.flush_timeout_id) {
@ -239,15 +240,10 @@ class ProxyPair {
ProxyPair.prototype.MAX_BUFFER = 10 * 1024 * 1024;
ProxyPair.prototype.pc = null;
ProxyPair.prototype.client = null; // WebRTC Data channel
ProxyPair.prototype.relay = null; // websocket
ProxyPair.prototype.timer = 0;
ProxyPair.prototype.flush_timeout_id = null;
ProxyPair.prototype.onCleanup = null;
ProxyPair.prototype.id = null;

View file

@ -16,9 +16,8 @@ class Snowflake {
// Prepare the Snowflake with a Broker (to find clients) and optional UI.
constructor(config, ui, broker) {
// Receive an SDP offer from some client assigned by the Broker,
// |pair| - an available ProxyPair.
this.receiveOffer = this.receiveOffer.bind(this);
this.config = config;
this.ui = ui;
this.broker = broker;
@ -85,6 +84,8 @@ class Snowflake {
return this.retries++;
}
// Receive an SDP offer from some client assigned by the Broker,
// |pair| - an available ProxyPair.
receiveOffer(pair, desc) {
var e, offer, sdp;
try {
@ -156,13 +157,9 @@ class Snowflake {
}
Snowflake.prototype.relayAddr = null;
Snowflake.prototype.rateLimit = null;
Snowflake.prototype.pollInterval = null;
Snowflake.prototype.retries = 0;
Snowflake.MESSAGE = {
CONFIRMATION: 'You\'re currently serving a Tor user via Snowflake.'
};