9. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 3/29/2019 3:00:13 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

9.1 Files compared

# Location File Last Modified
1 WebVRAM Source Code Files.zip\Sources\WebVRAM.Web.ng\SignalR VistaHub.cs Tue Feb 19 16:51:14 2019 UTC
2 WebVRAM Source Code Files.zip\Sources\WebVRAM.Web.ng\SignalR VistaHub.cs Thu Mar 28 20:34:41 2019 UTC

9.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 176
Changed 1 2
Inserted 0 0
Removed 0 0

9.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

9.4 Active regular expressions

No regular expressions were active.

9.5 Comparison detail

  1   using Syst em;
  2   using Syst em.Threadi ng.Tasks;
  3   using Micr osoft.AspN etCore.Aut henticatio n.JwtBeare r;
  4   using Micr osoft.AspN etCore.Aut horization ;
  5   using Micr osoft.AspN etCore.Sig nalR;
  6   using Micr osoft.Exte nsions.Log ging;
  7   using WebV RAM.Vista. Service;
  8   using WebV RAM.Vista. Service.Mo dels;
  9   using WebV RAM.Vista. Services;
  10   using WebV RAM.Web.ng .Models;
  11  
  12   namespace  WebVRAM.We b.ng.Signa lR
  13   {
  14       [Autho rize(Polic y = JwtBea rerDefault s.Authenti cationSche me)]
  15       public  class Vis taHub : Hu b
  16       {
  17           pr ivate ILog ger _logge r;
  18           pr ivate Sync Service _s yncService ;
  19  
  20           pu blic Vista Hub(ILogge r<VistaHub > logger,  SyncServic e syncServ ice)
  21           {
  22                _logger  = logger;
  23                _syncSer vice = syn cService;
  24           }
  25           
  26           pu blic overr ide Task O nConnected Async()
  27           {
  28                _logger. LogInforma tion("sign alr connec ted");
  29                return b ase.OnConn ectedAsync ();
  30           }
  31  
  32           pu blic overr ide Task O nDisconnec tedAsync(E xception e xception)
  33           {
  34                _logger. LogInforma tion("sign alr discon nected");
  35                return b ase.OnDisc onnectedAs ync(except ion);
  36           }
  37  
  38           pu blic async  Task<Refl ectionSess ion> SyncT oVista(str ing vistaS iteIen)
  39           {
  40                var webS ocketClien tIpAddress  = Context .GetHttpCo ntext().Co nnection.R emoteIpAdd ress.ToStr ing();
  41  
  42                var prog ress = new  Progress< ProgressDi alog>(dial og =>
  43                {
  44                    Clie nts.Caller .SendAsync ("updatePr ogress", d ialog);
  45                });
  46  
  47                var sync hronizatio nResult =  await _syn cService.S ynchronize ToSite(vis taSiteIen,  webSocket ClientIpAd dress, pro gress);
  48  
  49                return n ew Reflect ionSession
  50                {
  51                    Vist aHostname  = synchron izationRes ult.VistaS ite.VistaH ostname,
  52                    Vist aRpcPort =  synchroni zationResu lt.VistaSi te.VistaPo rt,
  53                    SshU sername =  synchroniz ationResul t.VistaSit e.ShellUse rname,
  54                    Stat ionName =  synchroniz ationResul t.VistaSit e.DisplayN ame,
  55                    OneT imeUseToke n = synchr onizationR esult.Sign OnToken,
  56                    IsSu ccessful =  synchroni zationResu lt.Success fullySynch ronized
  57                };
  58           }
  59  
  60           pu blic async  Task<Refl ectionSess ion> FakeS yncToVista (string vi staSiteIen )
  61           {
  62                var prog ress = new  Progress< ProgressDi alog>(dial og =>
  63                {
  64                    Clie nts.Caller .SendAsync ("updatePr ogress", d ialog);
  65                });
  66  
  67                var prog ressDialog  = (IProgr ess<Progre ssDialog>)  progress;
  68                for (int  i = 0; i  < 100; i++ )
  69                {
  70                    if ( i % 10 ==  0)
  71                    {
  72                         progressDi alog.Repor t(new Prog ressDialog ()
  73                         {
  74                             Messag e = i.ToSt ring(),
  75                             Percen tComplete  = i
  76                         });
  77                    }
  78                    
  79                    awai t Task.Del ay(50);
  80                }
  81  
  82                return n ew Reflect ionSession ()
  83                {
  84                    IsSu ccessful =  true,
  85                      VistaHostn ame = " DNS . URL "
  86                };
  87           }
  88       }
  89   }