//# __________ PROTOCOL :: (PRIVATE) HANDLE FILE UPLOAD __________ #// public void _HandleFileUpload(VmUploadDirectoryManager manager) { String sessionId = manager.GetSessionCookie(); Monitor("Upload Session: " + sessionId); VmMessageHttpResponse response = GetFileBasedSessionStatus(sessionId); String sessionStatus = response.Mappings["sessionStatus"]; if( sessionStatus.Equals("uploading") ) HandleFileUploadContinue(manager, sessionId, response.Mappings["data"]); else if( sessionStatus.Equals("complete") ) HandleUploadComplete(manager); Monitor(""); }
//# __________ PROTOCOL :: PRIVATE (UTILITY) __________ #// public void WriteSessionManifest(VmUploadDirectoryManager manager, JwList<VmScheduledUpload> uploads) { String sessionManifest = ConvertToSessionUploadManifest(uploads); manager.WriteSessionManifest(sessionManifest); if( VmProperties.Default.ShouldTransmitChunked() ) { String s = ConvertToChunkedSessionUploadManifest(uploads); manager.WriteChunkedSessionManifest(s); } }
//# __________ PROTOCOL :: (PRIVATE) HANDLE CHUNKED UPLOAD __________ #// public void _HandleChunkedUpload(VmUploadDirectoryManager manager) { VmAccountChunkedUploader uploader = new VmAccountChunkedUploader(this); uploader.HandleUpload(manager); }
public void UploadFileBasedEntry( VmUploadDirectoryManager manager, String sessionId, VmSessionManifestEntry entry, int index, int maxIndex) { VmMessageHttpRequest req = new VmMessageHttpRequest(); req.Mappings["command"] = "upload"; req.Mappings["sessionId"] = sessionId; req.Mappings["fileName"] = entry.FileName; req.Mappings["fileType"] = entry.FileType; req.Mappings["airportCode"] = entry.AirportCode; byte[] ba = manager.ReadFile( entry.AirportCode, entry.FileType, entry.FileName); req.Mappings["data"] = JwUtility.ToString(ba); MonitorBeginFile( entry.AirportCode, entry.FileName, index, maxIndex); VmMessageHttpResponse res = req.Send(); }
//# __________ PROTOCOL :: PRIVATE (UPLOAD STEPS) __________ #// /** * Delete any directory who is not uploadable, this is true if: * 1) An error occured copying this directory from output * 2) An error occured after deleting this directory after upload complete. **/ public void VerifyUploadDirectories() { DirectoryInfo[] dia = GetUploadDirectories(); foreach( DirectoryInfo uploadDir in dia) { VmUploadDirectoryManager o = new VmUploadDirectoryManager(uploadDir.FullName); if( ! o.HasUploadableCookie() ) o.Delete(); } }
public void RemoveOutputDirectory(VmUploadDirectoryManager manager) { if( manager == null ) return; if( ! manager.HasUploadableCookie() ) throw new Exception("ERROR: Unable to prepare for upload. (100)"); DirectoryInfo di; di = new DirectoryInfo(VmAccountData.Default.GetAccountOutputPath()); if( di.Exists ) di.Delete(true); di = new DirectoryInfo(VmAccountData.Default.GetAccountOutputPath()); if( di.Exists ) throw new Exception("ERROR: Unable to prepare for upload. (101)"); }
public void TransferUploadDirectories() { DirectoryInfo[] dia = GetUploadDirectories(); foreach( DirectoryInfo uploadDir in dia) { VmUploadDirectoryManager o = new VmUploadDirectoryManager(uploadDir.FullName); HandleUpload(o); } }
//# __________ PROTOCOL :: (PRIVATE) HANDLE UPLOAD __________ #// public void HandleUpload(VmUploadDirectoryManager manager) { if( manager.HasChunkedSessionManifest() ) HandleChunkedUpload(manager); else HandleFileUpload(manager); }
public void HandleUploadComplete(VmUploadDirectoryManager manager) { manager.DeleteUploadableCookie(); manager.Delete(); }
public void HandleFileUploadContinue( VmUploadDirectoryManager manager, String sessionId, String remainingManifest) { manager.WriteStatusSessionManifest(remainingManifest); JwList<VmSessionManifestEntry> entries = manager.GetStatusSessionManifestEntries(); int count = 1; foreach( VmSessionManifestEntry entry in entries) { UploadFileBasedEntry( manager, sessionId, entry, count++, entries.Count); } }
public void HandleFileUpload(VmUploadDirectoryManager manager) { if( ! manager.HasSessionCookie() ) CreateFileModeUploadSession(manager); _HandleFileUpload(manager); }
public void CreateFileModeUploadSession(VmUploadDirectoryManager manager) { VmMessageHttpRequest req = new VmMessageHttpRequest(); req.Mappings["command"] = "createSession"; req.Mappings["data"] = manager.GetSessionManifest(); VmMessageHttpResponse res = req.Send(); String sessionId = res.Mappings["sessionId"]; manager.WriteSessionCookie(sessionId); }
public void CreateChunkedModeUploadSession(VmUploadDirectoryManager manager) { VmMessageHttpRequest req = new VmMessageHttpRequest(); req.Mappings["command"] = "createSession"; req.Mappings[TRANSMISSION_MODE_KEY] = TRASNMISSION_MODE_CHUNKED; req.Mappings["data"] = manager.GetChunkedSessionManifest(); VmMessageHttpResponse res = req.Send(); String sessionId = res.Mappings["sessionId"]; manager.WriteSessionCookie(sessionId); }
//# __________ PROTOCOL :: PUBLIC __________ #// public void HandleUpload(VmUploadDirectoryManager manager) { _manager = manager; _HandleUpload(); }