diff --git a/src/app/sys-check/backend.service.ts b/src/app/sys-check/backend.service.ts index 4ec20106ac185a82fb12eb76133571dccd45532f..f78b7b102d0d2e50a39b7a814ab106a61870a35b 100644 --- a/src/app/sys-check/backend.service.ts +++ b/src/app/sys-check/backend.service.ts @@ -22,12 +22,12 @@ export class BackendService { formdef: [], unit: '', email: false, - downloadMinimum: 100, - downloadGood: 100, - uploadMinimum: 100, - uploadGood: 100, - pingMinimum: 100, - pingGood: 100 + downloadMinimum: 1024 * 1024, + downloadGood: 1024 * 1024 * 10, + uploadMinimum: 1024 * 512, + uploadGood: 1024 * 1024 * 5, + pingMinimum: 5000, + pingGood: 1000 }; constructor( diff --git a/src/app/sys-check/network-check/network-check.component.html b/src/app/sys-check/network-check/network-check.component.html index f47874533d710ff4c1596a1414a48f65b7a2cc7f..4d64f446d002c73cfb83b329ef6215be3833a8fe 100644 --- a/src/app/sys-check/network-check/network-check.component.html +++ b/src/app/sys-check/network-check/network-check.component.html @@ -24,7 +24,7 @@ </p> <p *ngIf="networkRating === 'ok'"> - Ihre Verbindung zum Testserver ist: <span style="color: orange; font-weight: bold;">ok <i class="material-icons networkCheck_inlineIcon">warning</i></span> + Ihre Verbindung zum Testserver ist: <span style="color: orange; font-weight: bold;">ok, aber vorsichtig <i class="material-icons networkCheck_inlineIcon">warning</i></span> </p> <p *ngIf="networkRating === 'good'"> diff --git a/src/app/sys-check/network-check/network-check.component.ts b/src/app/sys-check/network-check/network-check.component.ts index 54cb05f10b6496fa04955e4192b0147f9a512fc8..a94ce8d7880367b9fde56a09cef2d0097928e3a4 100644 --- a/src/app/sys-check/network-check/network-check.component.ts +++ b/src/app/sys-check/network-check/network-check.component.ts @@ -1,4 +1,4 @@ -import { SyscheckDataService, NetworkRequestTestResult, NetworkRating, ReportEntry } from './../syscheck-data.service'; +import { SyscheckDataService, NetworkRequestTestResult, ReportEntry } from './../syscheck-data.service'; import { Component, OnInit } from '@angular/core'; import { BackendService, RequestBenchmarkerFunction, RequestBenchmarkerFunctionCallback} from '../backend.service'; @@ -144,7 +144,7 @@ export class NetworkCheckComponent implements OnInit { // console.log(testResults); // console.log(averageSpeed); - this.networkRating = this.ds.calculateNetworkRating(this.averageSpeed); + this.networkRating = this.calculateNetworkRating(this.averageSpeed); updateStatus(`Die folgenden Netzwerkeigenschaften wurden festgestellt:`); this.testDone = true; @@ -158,6 +158,33 @@ export class NetworkCheckComponent implements OnInit { }); } + public calculateNetworkRating(nd: NetworkData): NetworkRating { + + /* + + <1MB download und <0.5 MB upload ---> insufficient (~ < 8Mb download; ~ < 4Mb upload) + 1-10 MB download; 0.5 - 5 MB upload ---> ok (8-80 Mb download; 4-40 Mb upload) + > 10 MB download; > 0.5 MB upload; ----> good (> 80 Mb download; > 40 Mb upload;) + + */ + + // assumes that this.ds.checkConfig$ is already set; + + const testConfig = this.ds.checkConfig$.getValue(); + console.log('Test configuration used to calculate network compatibility with the Test Center:'); + console.log(testConfig); + + if ((nd.downloadTest < testConfig.downloadMinimum) || (nd.uploadTest < testConfig.uploadMinimum)) { + return 'insufficient'; + } else { + if ((nd.downloadTest < testConfig.downloadGood) || (nd.uploadTest < testConfig.uploadGood)) { + return 'ok'; + } else { + return 'good'; + } + } + } + } export interface AverageSpeed { @@ -165,3 +192,13 @@ export interface AverageSpeed { downloadTest: number; pingTest: number; } + + +export interface NetworkData { + uploadTest: number; + downloadTest: number; + pingTest: number; + } + + export type NetworkRating = 'N/A' | 'insufficient' | 'ok' | 'good'; + diff --git a/src/app/sys-check/syscheck-data.service.ts b/src/app/sys-check/syscheck-data.service.ts index ded71829660bb6dde8d2f6395843052c0a518914..5763b114cf25dae8b0b789718583f9e77d35f67d 100644 --- a/src/app/sys-check/syscheck-data.service.ts +++ b/src/app/sys-check/syscheck-data.service.ts @@ -35,34 +35,8 @@ export class SyscheckDataService { } }); } - - public calculateNetworkRating(nd: NetworkData): NetworkRating { - - /* - - <1MB download und <0.5 MB upload ---> insufficient (~ < 8Mb download; ~ < 4Mb upload) - 1-10 MB download; 0.5 - 5 MB upload ---> ok (8-80 Mb download; 4-40 Mb upload) - > 10 MB download; > 0.5 MB upload; ----> good (> 80 Mb download; > 40 Mb upload;) - - */ - - if ((nd.downloadTest < 1024 * 1024) || (nd.uploadTest < 1024 * 512)) { - return 'insufficient'; - } else { - if ((nd.downloadTest < 1024 * 1024 * 10) || (nd.uploadTest < 1024 * 1024 * 5)) { - return 'ok'; - } else { - return 'good'; - } - } - } } -export interface NetworkData { - uploadTest: number; - downloadTest: number; - pingTest: number; -} export interface NetworkRequestTestResult { 'type': 'downloadTest' | 'uploadTest'; @@ -70,8 +44,6 @@ export interface NetworkRequestTestResult { 'duration': number; } -export type NetworkRating = 'N/A' | 'insufficient' | 'ok' | 'good'; - export interface ReportEntry { label: string; value: string;