def test_serializeAsRoot(self): node = self.root.addChild("node", "lnode") size = node.calcSize() buf = rt.buffer(size) node.serialize(buf.cast()) n = rt.Node() n.deserialize(buf.cast()) self.assertEqual(n.getParent(), None) self.assertEqual(n.getPath(), "node")
def main(): rt.core.setup() rootNode = rt.Node.createRootNode("root", "root_ラベル") child1 = rootNode.addChild("child1", "child1_label") content1 = child1.createContent("content1", "content1_ラベル") data1 = content1.createDataInt32() data1.Value = 1234 bufSize = rootNode.calcSize() buf = rt.buffer(bufSize) rootNode.serialize(buf.cast()) client = rt.TcpClient() client.connect("127.0.0.1", 0x1234) client.sendAsync(buf.cast(), bufSize) # send while True: if len(client.popSentQueue()) > 0: break time.sleep(0.1) # receive, deserialize while True: if not client.isConnectionAlive(): print "connection is closed by server" break received = client.popReceivedQueue() if len(received) > 0: print "received" data = received[0] context = rt.NodeDeserializationContext(data.buffer, data.bufferSize) while context.hasNext(): n = context.getNext() print n.getName(), n.getLabel() print "success!" break time.sleep(0.1) client.close() rt.core.shutdown()
def test_serialize(self): node = self.root.addChild("node", "lnode") c = node.createContent() c.setName("cn") c.setLabel("cl") d = c.createDataInt32() d.Value = 1 size = self.root.calcSize() buf = rt.buffer(size) self.root.serialize(buf.cast()) root = rt.Node() root.deserialize(buf.cast()) self.assertEqual(root.getName(), self.root.getName()) self.assertEqual(root.getPath(), self.root.getPath()) self.assertEqual(root.getLabel(), self.root.getLabel()) self.assertEqual(root.getChildren().size(), 1) n = root.getChildren()[0] self.assertEqual(n.getParent(), root) self.assertEqual(n.getName(), node.getName()) self.assertEqual(n.getPath(), node.getPath()) self.assertEqual(n.getLabel(), node.getLabel()) c1 = n.getContent() self.assertEqual(c1.getName(), c.getName()) self.assertEqual(c1.getPath(), c.getPath()) self.assertEqual(c1.getLabel(), c.getLabel()) self.assertEqual(c1.getDataType(), c.getDataType()) d1 = c1.getDataInt32() self.assertEqual(d1.getType(), d.getType()) self.assertEqual(d1.Value, d.Value)