public SharedCreator( MessageService messageService, AzureStorageDetails storageDetails, SynchronizationDetails syncDetails) { this.deviceId = new Guid(); this.startTime = DateTime.Now; this.sharedObjectsInSceneMessages = new List <CreatedObjectMessage>(); this.worldAnchorMap = new WorldAnchorMap(); this.messageService = messageService; this.syncDetails = syncDetails; this.storageDetails = storageDetails; this.GameObjectCreator = new PrimitiveGameObjectCreator(); this.RegisterMessageHandlers(); this.AnnounceNewDeviceToNetwork(); }
public static PSDataShareSynchronizationDetail ToPsObject(this SynchronizationDetails synchronizationDetails) { return(new PSDataShareSynchronizationDetail { Name = synchronizationDetails.Name, DataSetId = synchronizationDetails.DataSetId, DataSetType = synchronizationDetails.DataSetType, DurationMs = synchronizationDetails.DurationMs, StartTime = synchronizationDetails.StartTime, EndTime = synchronizationDetails.EndTime, Status = synchronizationDetails.Status, FilesRead = synchronizationDetails.FilesRead, FilesWritten = synchronizationDetails.FilesWritten, SizeRead = synchronizationDetails.SizeRead, SizeWritten = synchronizationDetails.SizeWritten, Message = synchronizationDetails.Message }); }
public void IncomingSynchronizationStarted(string fileName, ServerInfo sourceServerInfo, Guid sourceFileETag, SynchronizationType type) { var activeForDestination = activeIncomingSynchronizations.GetOrAdd(sourceServerInfo.FileSystemUrl, new ConcurrentDictionary <string, SynchronizationDetails>()); var syncDetails = new SynchronizationDetails() { DestinationUrl = sourceServerInfo.FileSystemUrl, FileETag = sourceFileETag, FileName = fileName, Type = type }; if (activeForDestination.TryAdd(fileName, syncDetails)) { Log.Debug("File '{0}' with ETag {1} was added to an incoming active synchronization queue for a destination {2}", fileName, sourceFileETag, sourceServerInfo.FileSystemUrl); } }
public void ExecuteTest2() { var urls = new string[] { "http://www.google.com.br/", "http://www.microsoft.com/" }; urls = urls.Concat(urls).Concat(urls).Concat(urls).Concat(urls).Concat(urls).Concat(urls).Concat(urls).ToArray(); var asyncCallbackSynchronizer = new AsyncCallbackSynchronizer <string>(); Func <AsyncCallback, string, IAsyncResult> begin = delegate(AsyncCallback callback, string url) { var request = HttpWebRequest.Create(url); return(request.BeginGetResponse(callback, request)); }; var synchronizer = new Synchronizer <IEnumerable <IAsyncResult> >(); var callbacker = new ThreadPoolCallbacker <SynchronizationDetails <string>, IAsyncResult>(SynchronizationDetails <string> .Execute); foreach (var url in urls) { var synchronizationDetails = new SynchronizationDetails <string> { Argument = url, Begin = begin, AsyncCallbackSynchronizer = asyncCallbackSynchronizer }; callbacker.Queue(synchronizationDetails); } var results = synchronizer.Execute(callbacker.EnableCallback); var reals = new List <string>(); foreach (var result in results) { using (var response = ((WebRequest)result.AsyncState).EndGetResponse(result)) { reals.Add(response.ResponseUri.AbsoluteUri); } } }
private void CreateSyncingConfiguration(string fileName, Guid etag, string destinationFileSystemUrl, SynchronizationType synchronizationType) { try { var name = RavenFileNameHelper.SyncNameForFile(fileName, destinationFileSystemUrl); var details = new SynchronizationDetails { DestinationUrl = destinationFileSystemUrl, FileName = fileName, FileETag = etag, Type = synchronizationType }; storage.Batch(accessor => accessor.SetConfig(name, JsonExtensions.ToJObject(details))); } catch (Exception e) { Log.WarnException( string.Format("Could not create syncing configurations for a file {0} and destination {1}", fileName, destinationFileSystemUrl), e); } }