changeset 37:090be804eaa9

update
author riono <e165729@ie.u-ryukyu.ac.jp>
date Sun, 23 May 2021 22:33:00 +0900
parents 3929e66a6645
children 9f8e1087c61b
files Test/Example/RemoteTake/RTCommand.cs daemon/ChristieDaemon.cs daemon/IncomingTcpConnection.cs datagear/RemoteDataGearManager.cs datagear/command/PutCommand.cs datagear/dg/DataGear.cs datagear/dg/MessagePackDataGear.cs
diffstat 7 files changed, 28 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/Test/Example/RemoteTake/RTCommand.cs	Tue May 11 19:02:08 2021 +0900
+++ b/Test/Example/RemoteTake/RTCommand.cs	Sun May 23 22:33:00 2021 +0900
@@ -4,8 +4,11 @@
 
 [MessagePackObject]
 public class RTCommand {
+    [Key("line")]
     public string line;
+    [Key("command")]
     public string cmd;
+    [Key("offset")]
     public int offset;
 
     public RTCommand(string line, string cmd, int i) {
--- a/daemon/ChristieDaemon.cs	Tue May 11 19:02:08 2021 +0900
+++ b/daemon/ChristieDaemon.cs	Sun May 23 22:33:00 2021 +0900
@@ -20,6 +20,10 @@
     public void Listen() {
         try {
             TcpListener listener = new TcpListener(IPAddress.IPv6Any, localPort);
+
+            IPEndPoint endPoint = new IPEndPoint(IPAddress.IPv6Any, localPort);
+            
+
             // listen on any address ipv4/ipv6
             listener.Server.SetSocketOption(SocketOptionLevel.IPv6, SocketOptionName.IPv6Only, 0);
             listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
--- a/daemon/IncomingTcpConnection.cs	Tue May 11 19:02:08 2021 +0900
+++ b/daemon/IncomingTcpConnection.cs	Sun May 23 22:33:00 2021 +0900
@@ -55,10 +55,9 @@
                                 new MessagePackDataGear<object>(data, Type.GetType(msg.clazz));
                            
                             // Debug
-                            Type t = Type.GetType(msg.clazz);
-                            object obj = MessagePackSerializer.Deserialize<object>(msg.data);
-                            Console.WriteLine("type:" + msg.type +  " key:" + msg.key + " fromDgm:" + msg.fromDmgName + " class:" + msg.clazz +
-                                              " data:" + Convert.ChangeType(obj, t));
+                            // Type t = Type.GetType(msg.clazz);
+                            // object obj = MessagePackSerializer.Deserialize<object>(msg.data);
+                            Console.WriteLine("type:" + msg.type +  " key:" + msg.key + " fromDgm:" + msg.fromDmgName + " class:" + msg.clazz + " data: null" );
                             
                             
                             cgm.GetLocalDGM().Put(msg.key, dg);
--- a/datagear/RemoteDataGearManager.cs	Tue May 11 19:02:08 2021 +0900
+++ b/datagear/RemoteDataGearManager.cs	Sun May 23 22:33:00 2021 +0900
@@ -40,7 +40,7 @@
                         Monitor.Pulse(syncObj);
                     }
                 } catch(Exception e) {
-                    Console.WriteLine(e.StackTrace);
+                    Console.WriteLine(e.ToString());
                 }
             } while (!connect);
 
@@ -48,18 +48,14 @@
             incoming.SetManager(manager);
             Thread incomingThread = new Thread(incoming.Run);
             incomingThread.Name = dgmname + "-IncomingTcp";
-            incomingThread.Priority = ThreadPriority.Highest;
+            //incomingThread.Priority = ThreadPriority.Highest;
             incomingThread.Start();
             
             OutboundTcpConnection outbound = new OutboundTcpConnection(connection);
             Thread outboundThread = new Thread(outbound.Run);
             outboundThread.Name = dgmname + "-OutboundTcp";
-            outboundThread.Priority = ThreadPriority.Highest;
+            //outboundThread.Priority = ThreadPriority.Highest;
             outboundThread.Start();
-            // Task.Factory.StartNew(
-            //     () => outbound.Run(),
-            //     TaskCreationOptions.LongRunning);
-
         });
         thread.Name = "Connect-" + dgmname;
         thread.Start();
--- a/datagear/command/PutCommand.cs	Tue May 11 19:02:08 2021 +0900
+++ b/datagear/command/PutCommand.cs	Sun May 23 22:33:00 2021 +0900
@@ -30,8 +30,9 @@
 
             // Debug
             var ms = MessagePackSerializer.Deserialize<RemoteMessage>(command);
-            //Console.WriteLine("***type:" + ms.type +  " key:" + ms.key + " fromDgm:" + ms.fromDmgName + " class:" + ms.clazz +
-                              //" data:" + MessagePackSerializer.Deserialize<object>(ms.data));
+            Console.WriteLine("***type:" + ms.type +  " key:" + ms.key + " fromDgm:" + ms.fromDmgName + " class:" + ms.clazz +
+                              " data: null");
+            //MessagePackSerializer.Deserialize<object>(ms.data)
 
             stream.Write(command);
 
--- a/datagear/dg/DataGear.cs	Tue May 11 19:02:08 2021 +0900
+++ b/datagear/dg/DataGear.cs	Sun May 23 22:33:00 2021 +0900
@@ -15,12 +15,15 @@
     }
 
     public void SetData(T data) {
-        //Console.WriteLine("data ****" + data.GetType() + "  clazz;" + clazz);
+        // debug
+        //Console.WriteLine("data ****" + data.GetType() + "  clazz;" + clazz + ", d:" + data);
+
         var dataClazz = data.GetType();
         if (dataClazz == clazz) {
             this.data = data;
             return;
         }
+        Console.WriteLine("call1");
 
         var dataSuperClazz = dataClazz.BaseType;
         while (dataSuperClazz != null) {
@@ -31,16 +34,16 @@
 
             dataSuperClazz = dataSuperClazz.BaseType;
         }
-
+        Console.WriteLine("call2");
+        
         var interfaces = dataClazz.GetInterfaces();
         foreach (var interfaze in interfaces)
             if (interfaze == clazz) {
                 this.data = data;
                 return;
             }
-
-        throw new InvalidCastException("datagear cannot set class from " + dataClazz.GetType().Name + " to " +
-                                       data.GetType().Name);
+        Console.WriteLine("call3");
+        throw new InvalidCastException("datagear cannot set class from " + dataClazz.GetType().Name + " to " +data.GetType().Name);
     }
 
     public void SetClazz(Type clazz) {
--- a/datagear/dg/MessagePackDataGear.cs	Tue May 11 19:02:08 2021 +0900
+++ b/datagear/dg/MessagePackDataGear.cs	Sun May 23 22:33:00 2021 +0900
@@ -26,7 +26,7 @@
             //Console.WriteLine("data:" + data);
             SetDataSize(messagePack.Length);
         } catch (Exception e) {
-            Console.WriteLine(e.StackTrace);
+            Console.WriteLine(e.ToString());
         }
 
         return messagePack;
@@ -36,9 +36,9 @@
         lock (syncObject) {
             if (data == null)
                 try {
-                    object dataObj = MessagePackSerializer.Deserialize<object>(messagePack);
-                    var dataCast = Convert.ChangeType(dataObj, clazz);
-                    SetData((T) dataCast);
+                    var dataObj = MessagePackSerializer.Deserialize<T>(messagePack);
+                    ///var dataCast = Convert.ChangeType(dataObj, clazz);
+                    SetData(dataObj);
                 } catch (Exception e) {
                     Console.WriteLine(e.StackTrace);
                 }