public static DataFileConnectionModel Create(string dataFilePath)
        {
            var updateSource = DataFile.CreateModelUpdateSource(dataFilePath);
            var model        = ReactivityModel.Create(updateSource);

            return(new DataFileConnectionModel(dataFilePath, model, updateSource));
        }
        public ConnectionModel(Server server)
        {
            Server = server;

            mMonitoredCalls = new SourceCache <int, int>(c => c);

            var objectDataRequestSubject = Subject.Synchronize(new Subject <ObjectDataRequest>());

            mMakeObjectDataRequest = objectDataRequestSubject.OnNext;

            var profilerControl = new ProfilerControl(mMonitoredCalls.Connect(), objectDataRequestSubject);

            mConnection = ProfilerClient.Connection.Create(server.PipeName, profilerControl);

            Model = ReactivityModel.Create(mConnection.ModelUpdateSource);
        }