[tor-commits] [flashproxy/master] Whitespace.

dcf at torproject.org dcf at torproject.org
Sun Jun 12 08:56:28 UTC 2011


commit 389c5f56f79bed8c5d220fa8a6bf05666951292e
Author: David Fifield <david at bamsoftware.com>
Date:   Tue May 24 23:16:51 2011 -0700

    Whitespace.
---
 rtmfp/RTMFPSocket.as             |  283 +++++++++++++++--------------
 rtmfp/RTMFPSocketClient.as       |  110 ++++++------
 rtmfp/events/RTMFPSocketEvent.as |   43 ++---
 rtmfpcat.as                      |  372 +++++++++++++++++++-------------------
 4 files changed, 404 insertions(+), 404 deletions(-)

diff --git a/rtmfp/RTMFPSocket.as b/rtmfp/RTMFPSocket.as
index bb00994..d524699 100644
--- a/rtmfp/RTMFPSocket.as
+++ b/rtmfp/RTMFPSocket.as
@@ -1,10 +1,10 @@
 /* RTMFPSocket abstraction
  * Author: Nate Hardison, May 2011
- * 
+ *
  * This code is heavily based off of BelugaFile, an open-source
  * Air file-transfer application written by Nicholas Bliyk.
  * Website: http://www.belugafile.com/
- * Source: http://code.google.com/p/belugafile/ 
+ * Source: http://code.google.com/p/belugafile/
  *
  */
 
@@ -22,210 +22,211 @@ package rtmfp
     import flash.utils.clearInterval;
     import flash.utils.setInterval;
     import flash.utils.setTimeout;
-    
+
     import rtmfp.RTMFPSocketClient;
     import rtmfp.events.RTMFPSocketEvent;
 
     [Event(name="connectSuccess", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="connectFail", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="publishStart", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="peerConnected", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="peeringSuccess", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="peeringFail", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
-  	[Event(name="peerDisconnected", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="connectFail", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="publishStart", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="peerConnected", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="peeringSuccess", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="peeringFail", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
+    [Event(name="peerDisconnected", type="com.jscat.rtmfp.events.RTMFPSocketEvent")]
     public class RTMFPSocket extends EventDispatcher
     {
         /* The name of the "media" to pass between peers */
         private static const DATA:String = "data";
-		    private static const DEFAULT_CIRRUS_ADDRESS:String = "rtmfp://p2p.rtmfp.net";
-		    private static const DEFAULT_CIRRUS_KEY:String = RTMFP::CIRRUS_KEY;
-		    private static const DEFAULT_CONNECT_TIMEOUT:uint = 4000;
-		
+        private static const DEFAULT_CIRRUS_ADDRESS:String = "rtmfp://p2p.rtmfp.net";
+        private static const DEFAULT_CIRRUS_KEY:String = RTMFP::CIRRUS_KEY;
+        private static const DEFAULT_CONNECT_TIMEOUT:uint = 4000;
+
         /* Connection to the Cirrus rendezvous service */
         private var connection:NetConnection;
-		
-		    /* ID of the peer to connect to */
-		    private var peerID:String;
-		
-		    /* Data streams to be established with peer */
-		    private var sendStream:NetStream;
-		    private var recvStream:NetStream;
-		    
-		    /* Timeouts */
-		    private var connectionTimeout:int;
-		    private var peerConnectTimeout:uint;
+
+        /* ID of the peer to connect to */
+        private var peerID:String;
+
+        /* Data streams to be established with peer */
+        private var sendStream:NetStream;
+        private var recvStream:NetStream;
+
+        /* Timeouts */
+        private var connectionTimeout:int;
+        private var peerConnectTimeout:uint;
 
         public function RTMFPSocket(){}
-        
+
         public function connect(addr:String = DEFAULT_CIRRUS_ADDRESS, key:String = DEFAULT_CIRRUS_KEY):void
         {
-          connection = new NetConnection();
-			    connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatusEvent);
-			    connection.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent);
-			    connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityErrorEvent);
-          connection.connect(addr + "/" + key);
-			    connectionTimeout = setInterval(fail, DEFAULT_CONNECT_TIMEOUT);
+            connection = new NetConnection();
+            connection.addEventListener(NetStatusEvent.NET_STATUS, onNetStatusEvent);
+            connection.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorEvent);
+            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityErrorEvent);
+            connection.connect(addr + "/" + key);
+            connectionTimeout = setInterval(fail, DEFAULT_CONNECT_TIMEOUT);
         }
 
         public function close():void
         {
-          connection.close();
+            connection.close();
         }
 
         public function get id():String
         {
-          if (connection != null && connection.connected) {
-            return connection.nearID;
-          }
-          
-          return null;
+            if (connection != null && connection.connected) {
+                return connection.nearID;
+            }
+
+            return null;
         }
-        
+
         public function get connected():Boolean
         {
-          return (connection != null && connection.connected);
+            return (connection != null && connection.connected);
         }
-        
+
         public function readBytes(bytes:ByteArray):void
         {
-          recvStream.client.bytes.readBytes(bytes);
+            recvStream.client.bytes.readBytes(bytes);
         }
 
         public function writeBytes(bytes:ByteArray):void
         {
-          sendStream.send("dataAvailable", bytes);
+            sendStream.send("dataAvailable", bytes);
         }
-        
+
         public function get peer():String
         {
-          return this.peerID;
+            return this.peerID;
         }
 
         public function set peer(peerID:String):void
         {
-          if (peerID == null || peerID.length == 0) {
-            throw new Error("Peer ID is null/empty.")
-    			} else if (peerID == connection.nearID) {
-    				throw new Error("Peer ID cannot be the same as our ID.");
-    			} else if (this.peerID == peerID) {
-    			  throw new Error("Already connected to peer " + peerID + ".");
-    			} else if (this.recvStream != null) {
-            throw new Error("Cannot connect to a second peer.");
-          }
-          
-          this.peerID = peerID;
-
-    			recvStream = new NetStream(connection, peerID);
-    			var client:RTMFPSocketClient = new RTMFPSocketClient();
-    			client.addEventListener(ProgressEvent.SOCKET_DATA, onDataAvailable, false, 0, true);
-    			client.addEventListener(RTMFPSocketClient.PEER_CONNECT_ACKNOWLEDGED, onPeerConnectAcknowledged, false, 0, true);
-    			recvStream.client = client;
-    			recvStream.addEventListener(NetStatusEvent.NET_STATUS, onRecvStreamEvent);
-    			recvStream.play(DATA);
-    			setTimeout(onPeerConnectTimeout, peerConnectTimeout, recvStream);
-        }
-        
+            if (peerID == null || peerID.length == 0) {
+                throw new Error("Peer ID is null/empty.")
+            } else if (peerID == connection.nearID) {
+                throw new Error("Peer ID cannot be the same as our ID.");
+            } else if (this.peerID == peerID) {
+                throw new Error("Already connected to peer " + peerID + ".");
+            } else if (this.recvStream != null) {
+              throw new Error("Cannot connect to a second peer.");
+            }
+
+            this.peerID = peerID;
+
+            recvStream = new NetStream(connection, peerID);
+            var client:RTMFPSocketClient = new RTMFPSocketClient();
+            client.addEventListener(ProgressEvent.SOCKET_DATA, onDataAvailable, false, 0, true);
+            client.addEventListener(RTMFPSocketClient.PEER_CONNECT_ACKNOWLEDGED, onPeerConnectAcknowledged, false, 0, true);
+            recvStream.client = client;
+            recvStream.addEventListener(NetStatusEvent.NET_STATUS, onRecvStreamEvent);
+            recvStream.play(DATA);
+            setTimeout(onPeerConnectTimeout, peerConnectTimeout, recvStream);
+        }
+
         private function startPublishStream():void
         {
-          sendStream = new NetStream(connection, NetStream.DIRECT_CONNECTIONS);
-    			sendStream.addEventListener(NetStatusEvent.NET_STATUS, onSendStreamEvent);
-    			var o:Object = new Object();
-    			o.onPeerConnect = onPeerConnect;
-    			sendStream.client = o;
-    			sendStream.publish(DATA);
+            sendStream = new NetStream(connection, NetStream.DIRECT_CONNECTIONS);
+            sendStream.addEventListener(NetStatusEvent.NET_STATUS, onSendStreamEvent);
+            var o:Object = new Object();
+            o.onPeerConnect = onPeerConnect;
+            sendStream.client = o;
+            sendStream.publish(DATA);
         }
-        
+
         private function fail():void
         {
-          clearInterval(connectionTimeout);
-    			dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.CONNECT_FAIL));
+            clearInterval(connectionTimeout);
+            dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.CONNECT_FAIL));
         }
-        
+
         private function onDataAvailable(event:ProgressEvent):void
         {
-          dispatchEvent(event);
+            dispatchEvent(event);
         }
-        
+
         private function onIOErrorEvent(event:IOErrorEvent):void
         {
-          fail();
+            fail();
         }
-        
+
         private function onNetStatusEvent(event:NetStatusEvent):void
         {
-          switch (event.info.code) {
-      			case "NetConnection.Connect.Success" :
-      				clearInterval(connectionTimeout);
-      				startPublishStream();
-      				dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.CONNECT_SUCCESS));
-      				break;
-      			case "NetStream.Connect.Success" :
-      				break;
-      			case "NetStream.Publish.BadName" :
-      			  fail();
-      				break;
-      			case "NetStream.Connect.Closed" :
-      			  // we've disconnected from the peer
-      			  // can reset to accept another
-      			  // clear the publish stream and re-publish another
-      			  dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEER_DISCONNECTED, recvStream));
-      				break;
-      		} 
-        }
-        
+            switch (event.info.code) {
+            case "NetConnection.Connect.Success" :
+                clearInterval(connectionTimeout);
+                startPublishStream();
+                dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.CONNECT_SUCCESS));
+                break;
+            case "NetStream.Connect.Success" :
+                break;
+            case "NetStream.Publish.BadName" :
+                fail();
+                break;
+            case "NetStream.Connect.Closed" :
+                // we've disconnected from the peer
+                // can reset to accept another
+                // clear the publish stream and re-publish another
+                dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEER_DISCONNECTED, recvStream));
+                break;
+            }
+        }
+
         private function onPeerConnect(peer:NetStream):Boolean
         {
-          // establish a bidirectional stream with the peer
-          if (peerID == null) {
-            this.peer = peer.farID;
-          }
-          
-          // disallow additional peers connecting to us
-          if (peer.farID != peerID) return false;
-          
-          peer.send("setPeerConnectAcknowledged");
-          dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEER_CONNECTED, peer));
-          
-          return true;
-        }
-        
+            // establish a bidirectional stream with the peer
+            if (peerID == null) {
+                this.peer = peer.farID;
+            }
+
+            // disallow additional peers connecting to us
+            if (peer.farID != peerID)
+                return false;
+
+            peer.send("setPeerConnectAcknowledged");
+            dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEER_CONNECTED, peer));
+
+            return true;
+        }
+
         private function onPeerConnectAcknowledged(event:Event):void
         {
-    			dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEERING_SUCCESS, recvStream));
+            dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEERING_SUCCESS, recvStream));
         }
-        
+
         private function onPeerConnectTimeout(peer:NetStream):void
         {
-          if (!recvStream.client) return;
-    			if (!RTMFPSocketClient(recvStream.client).peerConnectAcknowledged) {
-    				dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEERING_FAIL, recvStream));
-    			}
+            if (!recvStream.client) return;
+            if (!RTMFPSocketClient(recvStream.client).peerConnectAcknowledged) {
+                dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PEERING_FAIL, recvStream));
+            }
         }
-        
+
         private function onSecurityErrorEvent(event:SecurityErrorEvent):void
         {
-          fail();
+            fail();
         }
-        
+
         private function onSendStreamEvent(event:NetStatusEvent):void
         {
-    			switch (event.info.code) {
-    				case ("NetStream.Publish.Start") :
-    				  dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PUBLISH_START));
-    				  break;
-    				case ("NetStream.Play.Reset") :
-    				case ("NetStream.Play.Start") :
-    					break;
-    			}
-    		}
-    		private function onRecvStreamEvent(event:NetStatusEvent):void
-    		{
-    			switch (event.info.code) {
-    				case ("NetStream.Publish.Start") :
-    				case ("NetStream.Play.Reset") :
-    				case ("NetStream.Play.Start") :
-    					break;
-    			}
-    		}
+            switch (event.info.code) {
+            case ("NetStream.Publish.Start") :
+                dispatchEvent(new RTMFPSocketEvent(RTMFPSocketEvent.PUBLISH_START));
+                break;
+            case ("NetStream.Play.Reset") :
+            case ("NetStream.Play.Start") :
+                break;
+            }
+        }
+        private function onRecvStreamEvent(event:NetStatusEvent):void
+        {
+            switch (event.info.code) {
+            case ("NetStream.Publish.Start") :
+            case ("NetStream.Play.Reset") :
+            case ("NetStream.Play.Start") :
+                break;
+            }
+        }
     }
 }
diff --git a/rtmfp/RTMFPSocketClient.as b/rtmfp/RTMFPSocketClient.as
index d9fcffa..e2f93ef 100644
--- a/rtmfp/RTMFPSocketClient.as
+++ b/rtmfp/RTMFPSocketClient.as
@@ -1,57 +1,57 @@
 package rtmfp
 {
-	import flash.events.Event;
-	import flash.events.EventDispatcher;
-	import flash.events.ProgressEvent;
-	import flash.utils.ByteArray;
-
-	[Event(name="peerConnectAcknowledged", type="flash.events.Event")]
-	public dynamic class RTMFPSocketClient extends EventDispatcher {
-		public static const PEER_CONNECT_ACKNOWLEDGED:String = "peerConnectAcknowledged";
-		
-		private var _bytes:ByteArray;
-		private var _peerID:String;
-		private var _peerConnectAcknowledged:Boolean;
-		
-		public function RTMFPSocketClient()
-		{
-			super();
-			_bytes = new ByteArray();
-			_peerID = null;
-			_peerConnectAcknowledged = false;
-		}
-		
-		public function get bytes():ByteArray
-		{
-		  return _bytes;
-		}
-		
-		public function dataAvailable(bytes:ByteArray):void
-		{
-		  this._bytes.clear();
-		  bytes.readBytes(this._bytes);
-		  dispatchEvent(new ProgressEvent(ProgressEvent.SOCKET_DATA, false, false, this._bytes.bytesAvailable, this._bytes.length));
-		}
-		
-		public function get peerConnectAcknowledged():Boolean
-		{
-		  return _peerConnectAcknowledged;
-		}
-		
-		public function setPeerConnectAcknowledged():void
-		{
-			_peerConnectAcknowledged = true;
-			dispatchEvent(new Event(PEER_CONNECT_ACKNOWLEDGED));
-		}
-		
-		public function get peerID():String
-		{
-		  return _peerID;
-		}
-		
-		public function set peerID(id:String):void
-		{
-		  _peerID = id;
-		}
-	}
-}
\ No newline at end of file
+    import flash.events.Event;
+    import flash.events.EventDispatcher;
+    import flash.events.ProgressEvent;
+    import flash.utils.ByteArray;
+
+    [Event(name="peerConnectAcknowledged", type="flash.events.Event")]
+    public dynamic class RTMFPSocketClient extends EventDispatcher {
+        public static const PEER_CONNECT_ACKNOWLEDGED:String = "peerConnectAcknowledged";
+
+        private var _bytes:ByteArray;
+        private var _peerID:String;
+        private var _peerConnectAcknowledged:Boolean;
+
+        public function RTMFPSocketClient()
+        {
+            super();
+            _bytes = new ByteArray();
+            _peerID = null;
+            _peerConnectAcknowledged = false;
+        }
+
+        public function get bytes():ByteArray
+        {
+            return _bytes;
+        }
+
+        public function dataAvailable(bytes:ByteArray):void
+        {
+            this._bytes.clear();
+            bytes.readBytes(this._bytes);
+            dispatchEvent(new ProgressEvent(ProgressEvent.SOCKET_DATA, false, false, this._bytes.bytesAvailable, this._bytes.length));
+        }
+
+        public function get peerConnectAcknowledged():Boolean
+        {
+            return _peerConnectAcknowledged;
+        }
+
+        public function setPeerConnectAcknowledged():void
+        {
+            _peerConnectAcknowledged = true;
+            dispatchEvent(new Event(PEER_CONNECT_ACKNOWLEDGED));
+        }
+
+        public function get peerID():String
+        {
+            return _peerID;
+        }
+
+        public function set peerID(id:String):void
+        {
+            _peerID = id;
+        }
+    }
+}
diff --git a/rtmfp/events/RTMFPSocketEvent.as b/rtmfp/events/RTMFPSocketEvent.as
index c5b4af1..5bc08e5 100644
--- a/rtmfp/events/RTMFPSocketEvent.as
+++ b/rtmfp/events/RTMFPSocketEvent.as
@@ -1,25 +1,24 @@
 package rtmfp.events
 {
-	import flash.events.Event;
-	import flash.net.NetStream;
+    import flash.events.Event;
+    import flash.net.NetStream;
 
-	public class RTMFPSocketEvent extends Event
-	{
-		public static const CONNECT_SUCCESS:String   = "connectSuccess";
-		public static const CONNECT_FAIL:String      = "connectFail";
-		public static const PUBLISH_START:String     = "publishStart";
-		public static const PEER_CONNECTED:String    = "peerConnected";
-		public static const PEER_DISCONNECTED:String = "peerDisconnected";
-		public static const PEERING_SUCCESS:String   = "peeringSuccess";
-		public static const PEERING_FAIL:String      = "peeringFail";
-		
-		public var stream:NetStream;
-		
-		public function RTMFPSocketEvent(type:String, streamVal:NetStream = null, bubbles:Boolean = false, cancelable:Boolean = false)
-		{
-			super(type, bubbles, cancelable);
-			stream = streamVal;
-		}
-		
-	}
-}
\ No newline at end of file
+    public class RTMFPSocketEvent extends Event
+    {
+        public static const CONNECT_SUCCESS:String   = "connectSuccess";
+        public static const CONNECT_FAIL:String      = "connectFail";
+        public static const PUBLISH_START:String     = "publishStart";
+        public static const PEER_CONNECTED:String    = "peerConnected";
+        public static const PEER_DISCONNECTED:String = "peerDisconnected";
+        public static const PEERING_SUCCESS:String   = "peeringSuccess";
+        public static const PEERING_FAIL:String      = "peeringFail";
+
+        public var stream:NetStream;
+
+        public function RTMFPSocketEvent(type:String, streamVal:NetStream = null, bubbles:Boolean = false, cancelable:Boolean = false)
+        {
+            super(type, bubbles, cancelable);
+            stream = streamVal;
+        }
+    }
+}
diff --git a/rtmfpcat.as b/rtmfpcat.as
index 328274a..d4766c4 100644
--- a/rtmfpcat.as
+++ b/rtmfpcat.as
@@ -11,198 +11,198 @@ package
     import flash.events.SecurityErrorEvent;
     import flash.utils.ByteArray;
     import flash.utils.setTimeout;
-    
+
     import rtmfp.RTMFPSocket;
     import rtmfp.events.RTMFPSocketEvent;
     import Utils;
-    
-    public class rtmfpcat extends Sprite {
-      
-      /* Nate's facilitator -- also serving a crossdomain policy */
-      private const DEFAULT_FAC_ADDR:Object = {
-        host: "128.12.179.80",
-        port: 9002
-      };
-      
-      private const DEFAULT_TOR_CLIENT_ADDR:Object = {
-        host: "127.0.0.1",
-        port: 3333
-      };
-      
-      /* David's relay (nickname 3VXRyxz67OeRoqHn) that also serves a
-         crossdomain policy. */
-      private const DEFAULT_TOR_PROXY_ADDR:Object = {
-        host: "173.255.221.44",
-        port: 9001
-      };
-      
-      // Milliseconds.
-      private const FACILITATOR_POLL_INTERVAL:int = 10000;
-      
-      private var output_text:TextField;
-      
-      private var s_f:Socket;
-      private var s_r:RTMFPSocket;
-      private var s_t:Socket;
-      
-      private var fac_addr:Object;
-      private var tor_addr:Object;
-      
-      private var proxy_mode:Boolean;
-      
-      public function rtmfpcat()
-      {
-        output_text = new TextField();
-        output_text.width = 400;
-        output_text.height = 300;
-        output_text.background = true;
-        output_text.backgroundColor = 0x001f0f;
-        output_text.textColor = 0x44CC44;
-        addChild(output_text);
-
-        puts("Starting.");
-        
-        this.loaderInfo.addEventListener(Event.COMPLETE, onLoaderInfoComplete);
-      }
-      
-      private function puts(s:String):void
-      {
-          output_text.appendText(s + "\n");
-          output_text.scrollV = output_text.maxScrollV;
-      }
-      
-      private function onLoaderInfoComplete(e:Event):void
-      {
-        var fac_spec:String;
-        var tor_spec:String;
-
-        puts("Parameters loaded.");
-        
-        proxy_mode = (this.loaderInfo.parameters["proxy"] != null);
-        
-        fac_spec = this.loaderInfo.parameters["facilitator"];
-        if (!fac_spec) {
-          puts("No \"facilitator\" specification provided...using default.");
-          fac_addr = DEFAULT_FAC_ADDR;
-        } else {
-          puts("Facilitator spec: \"" + fac_spec + "\"");
-          fac_addr = Utils.parseAddrSpec(fac_spec);
+
+    public class rtmfpcat extends Sprite
+    {
+        /* Nate's facilitator -- also serving a crossdomain policy */
+        private const DEFAULT_FAC_ADDR:Object = {
+            host: "128.12.179.80",
+            port: 9002
+        };
+
+        private const DEFAULT_TOR_CLIENT_ADDR:Object = {
+            host: "127.0.0.1",
+            port: 3333
+        };
+
+        /* David's relay (nickname 3VXRyxz67OeRoqHn) that also serves a
+           crossdomain policy. */
+        private const DEFAULT_TOR_PROXY_ADDR:Object = {
+            host: "173.255.221.44",
+            port: 9001
+        };
+
+        // Milliseconds.
+        private const FACILITATOR_POLL_INTERVAL:int = 10000;
+
+        private var output_text:TextField;
+
+        private var s_f:Socket;
+        private var s_r:RTMFPSocket;
+        private var s_t:Socket;
+
+        private var fac_addr:Object;
+        private var tor_addr:Object;
+
+        private var proxy_mode:Boolean;
+
+        public function rtmfpcat()
+        {
+            output_text = new TextField();
+            output_text.width = 400;
+            output_text.height = 300;
+            output_text.background = true;
+            output_text.backgroundColor = 0x001f0f;
+            output_text.textColor = 0x44CC44;
+            addChild(output_text);
+
+            puts("Starting.");
+
+            this.loaderInfo.addEventListener(Event.COMPLETE, onLoaderInfoComplete);
         }
-        
-        if (!fac_addr) {
-            puts("Error: Facilitator spec must be in the form \"host:port\".");
-            return;
+
+        private function puts(s:String):void
+        {
+            output_text.appendText(s + "\n");
+            output_text.scrollV = output_text.maxScrollV;
         }
-        
-        tor_spec = this.loaderInfo.parameters["tor"];
-        if (!tor_spec) {
-          puts("No Tor specification provided...using default.");
-          if (proxy_mode) tor_addr = DEFAULT_TOR_PROXY_ADDR;
-          else tor_addr = DEFAULT_TOR_CLIENT_ADDR;
-        } else {
-          puts("Tor spec: \"" + tor_spec + "\"")
-          tor_addr = Utils.parseAddrSpec(tor_spec);
+
+        private function onLoaderInfoComplete(e:Event):void
+        {
+            var fac_spec:String;
+            var tor_spec:String;
+
+            puts("Parameters loaded.");
+
+            proxy_mode = (this.loaderInfo.parameters["proxy"] != null);
+
+            fac_spec = this.loaderInfo.parameters["facilitator"];
+            if (!fac_spec) {
+                puts("No \"facilitator\" specification provided...using default.");
+                fac_addr = DEFAULT_FAC_ADDR;
+            } else {
+                puts("Facilitator spec: \"" + fac_spec + "\"");
+                fac_addr = Utils.parseAddrSpec(fac_spec);
+            }
+
+            if (!fac_addr) {
+                    puts("Error: Facilitator spec must be in the form \"host:port\".");
+                    return;
+            }
+
+            tor_spec = this.loaderInfo.parameters["tor"];
+            if (!tor_spec) {
+                puts("No Tor specification provided...using default.");
+                if (proxy_mode) tor_addr = DEFAULT_TOR_PROXY_ADDR;
+                else tor_addr = DEFAULT_TOR_CLIENT_ADDR;
+            } else {
+                puts("Tor spec: \"" + tor_spec + "\"")
+                tor_addr = Utils.parseAddrSpec(tor_spec);
+            }
+
+            if (!tor_addr) {
+                puts("Error: Tor spec must be in the form \"host:port\".");
+                return;
+            }
+
+            establishRTMFPConnection();
         }
 
-        if (!tor_addr) {
-          puts("Error: Tor spec must be in the form \"host:port\".");
-          return;
+        private function establishRTMFPConnection():void
+        {
+            s_r = new RTMFPSocket();
+            s_r.addEventListener(RTMFPSocketEvent.CONNECT_SUCCESS, function (e:Event):void {
+                puts("Cirrus: connected with id " + s_r.id + ".");
+                establishFacilitatorConnection();
+            });
+            s_r.addEventListener(RTMFPSocketEvent.CONNECT_FAIL, function (e:Event):void {
+                puts("Error: failed to connect to Cirrus.");
+            });
+            s_r.addEventListener(RTMFPSocketEvent.PUBLISH_START, function(e:RTMFPSocketEvent):void {
+                puts("Publishing started.");
+            });
+            s_r.addEventListener(RTMFPSocketEvent.PEER_CONNECTED, function(e:RTMFPSocketEvent):void {
+                puts("Peer connected.");
+            });
+            s_r.addEventListener(RTMFPSocketEvent.PEER_DISCONNECTED, function(e:RTMFPSocketEvent):void {
+                puts("Peer disconnected.");
+            });
+            s_r.addEventListener(RTMFPSocketEvent.PEERING_SUCCESS, function(e:RTMFPSocketEvent):void {
+                puts("Peering success.");
+                establishTorConnection();
+            });
+            s_r.addEventListener(RTMFPSocketEvent.PEERING_FAIL, function(e:RTMFPSocketEvent):void {
+                puts("Peering fail.");
+            });
+            s_r.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
+                var bytes:ByteArray = new ByteArray();
+                s_r.readBytes(bytes);
+                puts("RTMFP: read " + bytes.length + " bytes.");
+                s_t.writeBytes(bytes);
+            });
+
+            s_r.connect();
+        }
+
+        private function establishTorConnection():void
+        {
+            s_t = new Socket();
+            s_t.addEventListener(Event.CONNECT, function (e:Event):void {
+                puts("Tor: connected to " + tor_addr.host + ":" + tor_addr.port + ".");
+            });
+            s_t.addEventListener(Event.CLOSE, function (e:Event):void {
+                puts("Tor: closed connection.");
+            });
+            s_t.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
+                puts("Tor: I/O error: " + e.text + ".");
+            });
+            s_t.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
+                var bytes:ByteArray = new ByteArray();
+                s_t.readBytes(bytes, 0, e.bytesLoaded);
+                puts("Tor: read " + bytes.length + " bytes.");
+                s_r.writeBytes(bytes);
+            });
+            s_t.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
+                puts("Tor: security error: " + e.text + ".");
+            });
+
+            s_t.connect(tor_addr.host, tor_addr.port);
         }
 
-        establishRTMFPConnection();
-      }
-      
-      private function establishRTMFPConnection():void
-      {
-        s_r = new RTMFPSocket();
-        s_r.addEventListener(RTMFPSocketEvent.CONNECT_SUCCESS, function (e:Event):void {
-          puts("Cirrus: connected with id " + s_r.id + ".");
-          establishFacilitatorConnection();
-        });
-        s_r.addEventListener(RTMFPSocketEvent.CONNECT_FAIL, function (e:Event):void {
-          puts("Error: failed to connect to Cirrus.");
-        });
-        s_r.addEventListener(RTMFPSocketEvent.PUBLISH_START, function(e:RTMFPSocketEvent):void {
-          puts("Publishing started.");
-        });
-        s_r.addEventListener(RTMFPSocketEvent.PEER_CONNECTED, function(e:RTMFPSocketEvent):void {
-          puts("Peer connected.");
-        });
-        s_r.addEventListener(RTMFPSocketEvent.PEER_DISCONNECTED, function(e:RTMFPSocketEvent):void {
-          puts("Peer disconnected.");
-        });
-        s_r.addEventListener(RTMFPSocketEvent.PEERING_SUCCESS, function(e:RTMFPSocketEvent):void {
-          puts("Peering success.");
-          establishTorConnection();
-        });
-        s_r.addEventListener(RTMFPSocketEvent.PEERING_FAIL, function(e:RTMFPSocketEvent):void {
-          puts("Peering fail.");
-        });
-        s_r.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-          var bytes:ByteArray = new ByteArray();
-          s_r.readBytes(bytes);
-          puts("RTMFP: read " + bytes.length + " bytes.");
-          s_t.writeBytes(bytes);
-        });
-        
-        s_r.connect();
-      }
-      
-      private function establishTorConnection():void
-      {
-        s_t = new Socket();
-        s_t.addEventListener(Event.CONNECT, function (e:Event):void {
-          puts("Tor: connected to " + tor_addr.host + ":" + tor_addr.port + ".");
-        });
-        s_t.addEventListener(Event.CLOSE, function (e:Event):void {
-          puts("Tor: closed connection.");
-        });
-        s_t.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
-          puts("Tor: I/O error: " + e.text + ".");
-        });
-        s_t.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-          var bytes:ByteArray = new ByteArray();
-          s_t.readBytes(bytes, 0, e.bytesLoaded);
-          puts("Tor: read " + bytes.length + " bytes.");
-          s_r.writeBytes(bytes);
-        });
-        s_t.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
-          puts("Tor: security error: " + e.text + ".");
-        });
-
-        s_t.connect(tor_addr.host, tor_addr.port);
-      }
-      
-      private function establishFacilitatorConnection():void
-      {
-        s_f = new Socket();
-        s_f.addEventListener(Event.CONNECT, function (e:Event):void {
-          puts("Facilitator: connected to " + fac_addr.host + ":" + fac_addr.port + ".");
-          if (proxy_mode) s_f.writeUTFBytes("GET / HTTP/1.0\r\n\r\n");
-          else s_f.writeUTFBytes("POST / HTTP/1.0\r\n\r\nclient=" + s_r.id + "\r\n");
-        });
-        s_f.addEventListener(Event.CLOSE, function (e:Event):void {
-          puts("Facilitator: connection closed.");
-          if (proxy_mode) {
-            setTimeout(establishFacilitatorConnection, FACILITATOR_POLL_INTERVAL);
-          }
-        });
-        s_f.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
-          puts("Facilitator: I/O error: " + e.text + ".");
-        });
-        s_f.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
-          var clientID:String = s_f.readMultiByte(e.bytesLoaded, "utf-8");
-          puts("Facilitator: got \"" + clientID + "\"");
-          if (clientID != "Registration list empty") {
-            puts("Connecting to " + clientID + ".");
-            s_r.peer = clientID;
-          }
-        });
-        s_f.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
-          puts("Facilitator: security error: " + e.text + ".");
-        });
-
-        s_f.connect(fac_addr.host, fac_addr.port);
-      }
-  }
-}
\ No newline at end of file
+        private function establishFacilitatorConnection():void
+        {
+            s_f = new Socket();
+            s_f.addEventListener(Event.CONNECT, function (e:Event):void {
+                puts("Facilitator: connected to " + fac_addr.host + ":" + fac_addr.port + ".");
+                if (proxy_mode) s_f.writeUTFBytes("GET / HTTP/1.0\r\n\r\n");
+                else s_f.writeUTFBytes("POST / HTTP/1.0\r\n\r\nclient=" + s_r.id + "\r\n");
+            });
+            s_f.addEventListener(Event.CLOSE, function (e:Event):void {
+                puts("Facilitator: connection closed.");
+                if (proxy_mode) {
+                    setTimeout(establishFacilitatorConnection, FACILITATOR_POLL_INTERVAL);
+                }
+            });
+            s_f.addEventListener(IOErrorEvent.IO_ERROR, function (e:IOErrorEvent):void {
+                puts("Facilitator: I/O error: " + e.text + ".");
+            });
+            s_f.addEventListener(ProgressEvent.SOCKET_DATA, function (e:ProgressEvent):void {
+                var clientID:String = s_f.readMultiByte(e.bytesLoaded, "utf-8");
+                puts("Facilitator: got \"" + clientID + "\"");
+                if (clientID != "Registration list empty") {
+                    puts("Connecting to " + clientID + ".");
+                    s_r.peer = clientID;
+                }
+            });
+            s_f.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function (e:SecurityErrorEvent):void {
+                puts("Facilitator: security error: " + e.text + ".");
+            });
+
+            s_f.connect(fac_addr.host, fac_addr.port);
+        }
+    }
+}





More information about the tor-commits mailing list