@@ -221,6 +221,10 @@ public enum Code
221221 @ Override
222222 public BigDecimal calculateSpeed (long bytes , Duration duration )
223223 {
224+ if (bytes == 0 )
225+ return BigDecimal .ZERO ;
226+ if (duration .isZero ())
227+ return BigDecimal .valueOf (Long .MAX_VALUE );
224228 BigDecimal bits = BigDecimal .valueOf (bytes * 8L ).setScale (2 , RoundingMode .HALF_UP );
225229 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
226230 .divide (BigDecimal .valueOf (1000 ).setScale (3 , RoundingMode .HALF_UP ), RoundingMode .HALF_UP );
@@ -232,6 +236,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
232236 @ Override
233237 public BigDecimal calculateSpeed (long bytes , Duration duration )
234238 {
239+ if (bytes == 0 )
240+ return BigDecimal .ZERO ;
241+ if (duration .isZero ())
242+ return BigDecimal .valueOf (Long .MAX_VALUE );
235243 BigDecimal kiloBits = BigDecimal .valueOf (bytes * 8L ).setScale (2 , RoundingMode .HALF_UP )
236244 .divide (BigDecimal .valueOf (1000 ), RoundingMode .HALF_UP );
237245 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
@@ -244,6 +252,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
244252 @ Override
245253 public BigDecimal calculateSpeed (long bytes , Duration duration )
246254 {
255+ if (bytes == 0 )
256+ return BigDecimal .ZERO ;
257+ if (duration .isZero ())
258+ return BigDecimal .valueOf (Long .MAX_VALUE );
247259 BigDecimal kiloBits = BigDecimal .valueOf (bytes * 8L ).setScale (2 , RoundingMode .HALF_UP )
248260 .divide (BigDecimal .valueOf (1000000 ), RoundingMode .HALF_UP );
249261 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
@@ -256,6 +268,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
256268 @ Override
257269 public BigDecimal calculateSpeed (long bytes , Duration duration )
258270 {
271+ if (bytes == 0 )
272+ return BigDecimal .ZERO ;
273+ if (duration .isZero ())
274+ return BigDecimal .valueOf (Long .MAX_VALUE );
259275 BigDecimal kiloBits = BigDecimal .valueOf (bytes * 8L ).setScale (2 , RoundingMode .HALF_UP )
260276 .divide (BigDecimal .valueOf (1000000000 ), RoundingMode .HALF_UP );
261277 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
@@ -268,6 +284,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
268284 @ Override
269285 public BigDecimal calculateSpeed (long bytes , Duration duration )
270286 {
287+ if (bytes == 0 )
288+ return BigDecimal .ZERO ;
289+ if (duration .isZero ())
290+ return BigDecimal .valueOf (Long .MAX_VALUE );
271291 BigDecimal kiloBits = BigDecimal .valueOf (bytes ).setScale (2 , RoundingMode .HALF_UP );
272292 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
273293 .divide (BigDecimal .valueOf (1000 ).setScale (3 , RoundingMode .HALF_UP ), RoundingMode .HALF_UP );
@@ -279,6 +299,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
279299 @ Override
280300 public BigDecimal calculateSpeed (long bytes , Duration duration )
281301 {
302+ if (bytes == 0 )
303+ return BigDecimal .ZERO ;
304+ if (duration .isZero ())
305+ return BigDecimal .valueOf (Long .MAX_VALUE );
282306 BigDecimal kiloBits = BigDecimal .valueOf (bytes ).setScale (2 , RoundingMode .HALF_UP )
283307 .divide (BigDecimal .valueOf (1000 ), RoundingMode .HALF_UP );
284308 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
@@ -291,6 +315,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
291315 @ Override
292316 public BigDecimal calculateSpeed (long bytes , Duration duration )
293317 {
318+ if (bytes == 0 )
319+ return BigDecimal .ZERO ;
320+ if (duration .isZero ())
321+ return BigDecimal .valueOf (Long .MAX_VALUE );
294322 BigDecimal kiloBits = BigDecimal .valueOf (bytes ).setScale (2 , RoundingMode .HALF_UP )
295323 .divide (BigDecimal .valueOf (1000000 ), RoundingMode .HALF_UP );
296324 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
@@ -303,6 +331,10 @@ public BigDecimal calculateSpeed(long bytes, Duration duration)
303331 @ Override
304332 public BigDecimal calculateSpeed (long bytes , Duration duration )
305333 {
334+ if (bytes == 0 )
335+ return BigDecimal .ZERO ;
336+ if (duration .isZero ())
337+ return BigDecimal .valueOf (Long .MAX_VALUE );
306338 BigDecimal kiloBits = BigDecimal .valueOf (bytes ).setScale (2 , RoundingMode .HALF_UP )
307339 .divide (BigDecimal .valueOf (1000000000 ), RoundingMode .HALF_UP );
308340 BigDecimal seconds = BigDecimal .valueOf (duration .toMillis ()).setScale (3 , RoundingMode .HALF_UP )
0 commit comments