public void TestTransportFile() { var path = TWDir.Test + "\\TestAsset.txt"; var strm = new StreamWriter(File.OpenWrite(path)); strm.Write("This is a test asset!"); strm.Close(); var spm = new SimpleServerPacketManager(); var cpm = spm.CreateClient(); var server = new ServerFileTransporter <DataPacket>("TestTrans", spm); server.Start(); var client = new ClientFileTransporter <DataPacket>("TestTrans", cpm, TWDir.Test.CreateSubdirectory("TestTransportFileCache").FullName); var ct = server.GetClientTransporter(spm.Clients[0]); ct.SendFile(new DataPacket(), path); var info = client.ReceiveFile(); // Test TestAsset file var lines = File.ReadAllLines(info.CachedFilePath); Assert.AreEqual(1, lines.Length); Assert.AreEqual("This is a test asset!", lines[0]); }
private Revision retrieveRevision(Guid guid) { var rev = sys.FindRevision(guid); if (rev != null) { return(rev); } requestRevisionTransporter.Send(new RevisionRequestPacket { Guid = guid }); var p = revisionTransporter.Receive(); rev = new Revision(); rev.Guid = p.Guid; rev.Message = rev.Message; rev.Parent = retrieveRevision(p.Parent); rev.MergedParent = retrieveRevision(p.MergedParent); // Always 1 file in revision!!! for (; ;) { var fileP = fileTransporter.ReceiveFile(); File.Move(fileP.CachedFilePath, sys.getFilePath(rev, fileP.Packet.Path)); if (fileP.Packet.Complete) { break; } } return(rev); }