Index: /branches/thasling/DistributedGA/DistributedGA.Core/Domain/MessageRecieveEventArgs.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Domain/MessageRecieveEventArgs.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Domain/MessageRecieveEventArgs.cs	(revision 13971)
@@ -4,5 +4,5 @@
   public class MessageRecieveEventArgs : EventArgs {
     public int val;
-    public byte[][] data { get; set; }
+    public byte[] data { get; set; }
     public PeerInfo Sender { get; set; }
   }
Index: /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/MessageContractImpl.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/MessageContractImpl.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/MessageContractImpl.cs	(revision 13971)
@@ -7,5 +7,5 @@
   [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
   public class MessageContractImpl : IMessageContract {
-    public void SendData(PeerInfo sender, byte[][] data) {
+    public void SendData(PeerInfo sender, byte[] data) {
       MessageRecieveEventArgs args = new MessageRecieveEventArgs() { Sender = sender, data = data };
 
Index: /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/PeerNetworkMessageHandler.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/PeerNetworkMessageHandler.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/PeerNetworkMessageHandler.cs	(revision 13971)
@@ -146,7 +146,5 @@
       if (e != null && e.Sender.ProblemInstance.Equals(ownInstance.ProblemInstance)) {
         lock (activeQueueLocker) {
-          foreach (byte[] item in e.data) {
-            writeQueue.Enqueue(item);
-          }
+            writeQueue.Enqueue(e.data);
         }
 
Index: /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageSender.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageSender.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageSender.cs	(revision 13971)
@@ -102,13 +102,13 @@
     private void SendDataFromQueue(PeerInfo destination, byte[][] data) {
       try {
-        int arrayLength = 3;
-        if (data.GetUpperBound(0) > arrayLength) {
-          //HACK: SEND MAX 10 items
-          byte[][] fake = new byte[arrayLength][];
-          for (int i = 0; i < arrayLength; i++) {
-            fake[i] = data[i];
-          }
-          data = fake;
-        }
+        //int arrayLength = 3;
+        //if (data.GetUpperBound(0) > arrayLength) {
+        //  //HACK: SEND MAX 10 items
+        //  byte[][] fake = new byte[arrayLength][];
+        //  for (int i = 0; i < arrayLength; i++) {
+        //    fake[i] = data[i];
+        //  }
+        //  data = fake;
+        //}
 
 
@@ -119,8 +119,17 @@
 
         var binding = new NetTcpBinding();
+        binding.MaxReceivedMessageSize = 20000000;
+        binding.MaxBufferSize = 20000000;
+        binding.MaxBufferPoolSize = 20000000;
+        binding.ReaderQuotas.MaxArrayLength = 20000000;
+        binding.ReaderQuotas.MaxDepth = 32;
+        binding.ReaderQuotas.MaxStringContentLength = 20000000;
+
         var endpoint = new EndpointAddress(serviceUri);
         using (var myChannelFactory = new ChannelFactory<IMessageContract>(binding, endpoint)) {
           using (IClientChannel client = (IClientChannel)myChannelFactory.CreateChannel()) {
-            ((IMessageContract)client).SendData(myself, data); //maybe timout exception...
+            for (int i = 0; i < data.GetUpperBound(0) + 1; i++) {
+              ((IMessageContract)client).SendData(myself, data[i]); //maybe timout exception...
+            }
           }
         }
Index: /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageService.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageService.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Implementation/WcfMessageService.cs	(revision 13971)
@@ -27,4 +27,10 @@
         var serviceUri = new Uri(baseUri, serviceUrl);
         NetTcpBinding binding = new NetTcpBinding();
+        binding.MaxReceivedMessageSize = 20000000;
+        binding.MaxBufferSize = 20000000;
+        binding.MaxBufferPoolSize = 20000000;
+        binding.ReaderQuotas.MaxArrayLength = 20000000;
+        binding.ReaderQuotas.MaxDepth = 32;
+        binding.ReaderQuotas.MaxStringContentLength = 20000000;
 
         using (var host = new ServiceHost(messageContract, serviceUri)) {
Index: /branches/thasling/DistributedGA/DistributedGA.Core/Interface/IMessageContract.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Core/Interface/IMessageContract.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Core/Interface/IMessageContract.cs	(revision 13971)
@@ -9,5 +9,5 @@
 
     [OperationContract]
-    void SendData(PeerInfo sender, byte[][] data);
+    void SendData(PeerInfo sender, byte[] data);
 
     event EventHandler<MessageRecieveEventArgs> MessageRecieved;
Index: /branches/thasling/DistributedGA/DistributedGA.Hive/P2PMigrationAnalyzer.cs
===================================================================
--- /branches/thasling/DistributedGA/DistributedGA.Hive/P2PMigrationAnalyzer.cs	(revision 13970)
+++ /branches/thasling/DistributedGA/DistributedGA.Hive/P2PMigrationAnalyzer.cs	(revision 13971)
@@ -205,7 +205,4 @@
           }
         }
-        //each subscope is one emigrand
-        //IScope emigrants = scope.SubScopes[1];
-        //emigrantsList.Add(emigrants);
 
         {
@@ -221,5 +218,4 @@
                 msgScope.Variables.Add((IVariable)variable.Clone(cloner));
               }
-              msgScope.ClearParentScopes();
               HeuristicLab.Persistence.Default.Xml.XmlGenerator.Serialize(msgScope, stream);
               message[ei] = stream.GetBuffer();
