Mercurial > hg > Database > Christie-sharp
diff datagear/command/PutCommand.cs @ 16:7352793b5dbe
add some Commands
author | riono <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 22 Nov 2020 01:52:22 +0900 |
parents | |
children | 3aaa77e12493 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datagear/command/PutCommand.cs Sun Nov 22 01:52:22 2020 +0900 @@ -0,0 +1,33 @@ +using System; +using System.IO; +using Christie_net.datagear.dg; +using MessagePack; + +namespace Christie_net.datagear.command { +public class PutCommand : Command{ + public PutCommand(CommandBuilder cb) : base(cb) { + this.clazz = dg.GetClazz(); + } + + public override void Execute() { + } + + // commandとdata, dataSizeをMemoryStreamに変換する + public override MemoryStream Convert() { + MemoryStream stream = new MemoryStream(); + + try { + byte[] command = MessagePackSerializer.Serialize(CreateRemoteMessage()); + byte[] data = new MessagePackDataGear<object>(dg.GetData()).GetMessagePack(); + byte[] dataSize = MessagePackSerializer.Serialize(data.Length); + + stream.Write(command, 0, command.Length); + stream.Write(data, 0, data.Length); + stream.Write(dataSize, 0, dataSize.Length); + } catch (IOException e) { + Console.WriteLine(e.StackTrace); + } + return stream; + } +} +} \ No newline at end of file