瀏覽代碼

fixed default buffer size.

Nicolas Cannasse 19 年之前
父節點
當前提交
966989994f
共有 2 個文件被更改,包括 11 次插入3 次删除
  1. 1 1
      std/haxe/remoting/SocketBuffer.hx
  2. 10 2
      std/haxe/remoting/SocketConnection.hx

+ 1 - 1
std/haxe/remoting/SocketBuffer.hx

@@ -31,7 +31,7 @@ enum SocketError {
 
 class SocketBuffer {
 
-	public static var START_SIZE = 31;
+	public static var START_SIZE = 256;
 	public static var MAX_SIZE = 4096;
 
 	var buffer : String;

+ 10 - 2
std/haxe/remoting/SocketConnection.hx

@@ -120,7 +120,7 @@ class SocketConnection extends AsyncConnection {
 		#end
 	}
 
-	public static function processMessage( sc : SocketConnection, data : String ) {
+	public static function processMessage( sc : SocketConnection, data : String, throwExc : Bool ) {
 		var f : Dynamic -> Void;
 		var val : Dynamic;
 		var s = new Unserializer(data);
@@ -182,6 +182,14 @@ class SocketConnection extends AsyncConnection {
 			sendMessage(sc.__data,s.toString());
 		} catch( e : Dynamic ) {
 			sc.onError(e);
+			return;
+		}
+		if( exc && throwExc ) {
+			#if neko
+			neko.Lib.rethrow(val);
+			#else true
+			throw val;
+			#end
 		}
 	}
 
@@ -199,7 +207,7 @@ class SocketConnection extends AsyncConnection {
 	public static function socketConnect( s : flash.XMLSocket ) {
 		var sc = new SocketConnection(s,[]);
 		sc.__funs = new List();
-		s.onData = function(data : String) { processMessage(sc,data.substr(2,data.length-2)); };
+		s.onData = function(data : String) { processMessage(sc,data.substr(2,data.length-2),false); };
 		return sc;
 	}