11import { SpeedIndicator } from './speed-indicator'
2- import { RateCurve } from './rate-curve'
2+ import { appendRatePoint , RateCurve } from './rate-curve'
33import styled from '@emotion/styled'
44import { useState , useContext , useEffect , useRef } from 'react'
55import { useRates } from '../hooks'
@@ -40,11 +40,6 @@ type ChartItem = {
4040}
4141
4242const chartKeys : ChartKey [ ] = [ 'ping' , 'download' , 'upload' ]
43- const MAX_RATE_POINTS = 60
44-
45- function appendRate ( rates : number [ ] , rate : number ) {
46- return [ ...rates . slice ( - ( MAX_RATE_POINTS - 1 ) ) , rate ]
47- }
4843
4944enum RunningStep {
5045 NONE = 1 ,
@@ -130,7 +125,7 @@ export function RunCaseOnce() {
130125 ) ,
131126 ( v ) => {
132127 pushTTL ( v )
133- setPingRates ( ( prevRates ) => appendRate ( prevRates , v ) )
128+ setPingRates ( ( prevRates ) => appendRatePoint ( prevRates , v ) )
134129 } ,
135130 runId ,
136131 )
@@ -158,7 +153,7 @@ export function RunCaseOnce() {
158153 ( v ) => {
159154 const nextRate = v . reduce ( ( a , b ) => a + b , 0 )
160155 setDlRate ( nextRate )
161- setDlRates ( ( prevRates ) => appendRate ( prevRates , nextRate ) )
156+ setDlRates ( ( prevRates ) => appendRatePoint ( prevRates , nextRate ) )
162157 } ,
163158 runId ,
164159 )
@@ -183,7 +178,7 @@ export function RunCaseOnce() {
183178 ( v ) => {
184179 const nextRate = v . reduce ( ( a , b ) => a + b , 0 )
185180 setUlRate ( nextRate )
186- setUlRates ( ( prevRates ) => appendRate ( prevRates , nextRate ) )
181+ setUlRates ( ( prevRates ) => appendRatePoint ( prevRates , nextRate ) )
187182 } ,
188183 runId ,
189184 )
0 commit comments