Changeset 4772 for branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs
- Timestamp:
- 11/11/10 15:30:03 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs
r4710 r4772 173 173 MemoryStream memStream = null; 174 174 try { 175 if (ar.IsCompleted) { 176 Logger.Debug("ENDED: Fetching of Jobs from Server for Slave"); 177 stream = service.Obj.EndGetStreamedJob(ar); 178 179 //first deserialize the response 180 BinaryFormatter formatter = new BinaryFormatter(); 181 ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream); 182 183 //second deserialize the BLOB 184 memStream = new MemoryStream(); 185 186 byte[] buffer = new byte[3024]; 187 int read = 0; 188 while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { 189 memStream.Write(buffer, 0, read); 190 } 191 192 memStream.Close(); 193 194 GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState); 195 GetJobCompleted(this, completedEventArgs); 196 197 } else { 198 HandleNetworkError(new FaultException("GetJobAsync did not complete")); 175 Logger.Debug("ENDED: Fetching of Jobs from Server for Slave"); 176 stream = service.Obj.EndGetStreamedJob(ar); 177 178 //first deserialize the response 179 BinaryFormatter formatter = new BinaryFormatter(); 180 ResponseObject<JobDto> response = (ResponseObject<JobDto>)formatter.Deserialize(stream); 181 182 //second deserialize the BLOB 183 memStream = new MemoryStream(); 184 185 byte[] buffer = new byte[3024]; 186 int read = 0; 187 while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) { 188 memStream.Write(buffer, 0, read); 199 189 } 190 191 memStream.Close(); 192 193 GetJobCompletedEventArgs completedEventArgs = new GetJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, null, !ar.IsCompleted, ar.AsyncState); 194 GetJobCompleted(this, completedEventArgs); 200 195 } 201 196 catch (Exception e) { … … 236 231 stream.Dispose(); 237 232 238 if (ar.IsCompleted) { 239 var res = service.Obj.EndStoreFinishedJobResultStreamed(ar); 240 StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null); 241 Logger.Debug("calling the Finished Job Event"); 242 GetFinishedJobResultCompleted(this, args); 243 Logger.Debug("ENDED: Sending back the finished job results"); 244 } else { 245 HandleNetworkError(new FaultException("GetFinishedJobResultAsync did not complete")); 246 } 233 var res = service.Obj.EndStoreFinishedJobResultStreamed(ar); 234 StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { res }, null, false, null); 235 Logger.Debug("calling the Finished Job Event"); 236 GetFinishedJobResultCompleted(this, args); 237 Logger.Debug("ENDED: Sending back the finished job results"); 247 238 } 248 239 catch (Exception e) { … … 269 260 stream.Dispose(); 270 261 271 if (ar.IsCompleted) { 272 var res = service.Obj.EndStoreFinishedJobResultStreamed(ar); 273 ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null); 274 ProcessSnapshotCompleted(this, args); 275 } else { 276 HandleNetworkError(new FaultException("ProcessSnapshotAsync did not complete")); 277 } 262 var res = service.Obj.EndStoreFinishedJobResultStreamed(ar); 263 ProcessSnapshotCompletedEventArgs args = new ProcessSnapshotCompletedEventArgs(new object[] { res }, null, false, null); 264 ProcessSnapshotCompleted(this, args); 278 265 } 279 266 catch (Exception e) {
Note: See TracChangeset
for help on using the changeset viewer.