private Revision retrieveServerMaster() { commandTransporter.Send(new BytePacket((byte)SyncerCommands.RequestMaster)); var p = revisionTransporter.Receive(); return(retrieveRevision(p.Guid)); }
internal int sendNextFilePart(int sendSize) { var buffer = getNextFilePart(sendSize); partTransporter.Send(new FilePartPacket { Data = buffer, Complete = !IsSendingFile() }); if (!IsSendingFile()) { // complete endTransporter.Send(sendingFilePacket); } return(buffer.Length); }
public void SendFile(T packet, string filePath) { lock (this) { if (sendingFile != null) { throw new InvalidOperationException("A file is already being sent!"); } startTransporter.Send(new FileStartPacket()); sendingFilePacket = packet; sendingFile = new FileInfo(filePath); filePosition = 0; server.AddDownloadingClient(this); } }
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); }
public void OnSave() { transporter.Send(new UserInputHandlerPacket("OnSave")); }