Mercurial > hg > Database > Christie
comparison src/main/java/christie/daemon/IncomingTcpConnection.java @ 32:307ac87ddcf7
add TakeFrom annotation
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 15 Feb 2018 15:48:23 +0900 |
parents | bf8ac57409af |
children | 671246274719 |
comparison
equal
deleted
inserted
replaced
31:e29900328fff | 32:307ac87ddcf7 |
---|---|
5 import christie.datagear.*; | 5 import christie.datagear.*; |
6 | 6 |
7 import christie.datagear.command.Command; | 7 import christie.datagear.command.Command; |
8 import christie.datagear.command.CommandType; | 8 import christie.datagear.command.CommandType; |
9 import christie.datagear.RemoteMessage; | 9 import christie.datagear.RemoteMessage; |
10 import christie.datagear.command.RemotePeekCommand; | |
10 import christie.datagear.command.RemoteTakeCommand; | 11 import christie.datagear.command.RemoteTakeCommand; |
11 import christie.datagear.dg.MessagePackDataGear; | 12 import christie.datagear.dg.MessagePackDataGear; |
12 import org.msgpack.MessagePack; | 13 import org.msgpack.MessagePack; |
13 import org.msgpack.unpacker.Unpacker; | 14 import org.msgpack.unpacker.Unpacker; |
14 | 15 |
59 } | 60 } |
60 | 61 |
61 break; | 62 break; |
62 | 63 |
63 case REMOTEPEEK: | 64 case REMOTEPEEK: |
65 cgm.getLocalDGM().runCommand(new RemotePeekCommand(msg, connection)); | |
66 break; | |
64 case REMOTETAKE: | 67 case REMOTETAKE: |
65 | 68 cgm.getLocalDGM().runCommand(new RemoteTakeCommand(msg, connection)); |
66 RemoteTakeCommand cmd = null; | |
67 try { | |
68 cmd = new RemoteTakeCommand(msg.fromDgmName, msg.key, Class.forName(msg.clazz), connection); | |
69 } catch (ClassNotFoundException e) { | |
70 e.printStackTrace(); | |
71 } | |
72 | |
73 cgm.getLocalDGM().take(cmd); | |
74 | 69 |
75 break; | 70 break; |
76 case REPLY://待っていたwaitListに渡してcsにセット | 71 case REPLY://待っていたwaitListに渡してcsにセット |
77 data = new byte[unpacker.readInt()]; | 72 data = new byte[unpacker.readInt()]; |
78 connection.socket.getInputStream().read(data); | 73 connection.socket.getInputStream().read(data); |
74 | |
79 try { | 75 try { |
80 MessagePackDataGear dg = new MessagePackDataGear(data, Class.forName(msg.clazz)); | 76 MessagePackDataGear dg = new MessagePackDataGear(data, Class.forName(msg.clazz)); |
81 | 77 cgm.getDGM(msg.fromDgmName).resolveWaitCommand(msg.key, dg); |
82 DataGearManager dgm = cgm.getDGM(msg.fromDgmName); | |
83 Command cm = dgm.waitList.getAndRemoveCommand(msg.key); | |
84 cm.dg = dg; | |
85 dgm.runCommand(cm); | |
86 | |
87 } catch (ClassNotFoundException e) { | 78 } catch (ClassNotFoundException e) { |
88 e.printStackTrace(); | 79 e.printStackTrace(); |
89 } | 80 } |
90 | 81 |
91 break; | 82 break; |