Closed KoningR closed 1 year ago
Patch coverage: 76.47
% and project coverage change: +0.04
:tada:
Comparison is base (
0623f77
) 58.32% compared to head (7f45901
) 58.36%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
I took a look at the changes and I'm curious if this change could cause issues if two incompatible EvaProtocols try to communicate with each other. i.e. one has encryption enabled and one doesn't ?
Maybe the network packet should indicate that the contents are encrypted so in the decryption step regardless of if the EvaProtocol uses encryption on its messages, an encrypted message can be decrypted ?
Also using "Synchronized" with coroutines is considered an antipattern, if you could make a test to replicate the race condition perhaps you might want to use a coroutine Mutex instead or channels which would suspend instead of blocking the coroutine :)
File | Coverage [80.14%] | :green_apple: |
---|---|---|
Transfer.kt | 87.79% | :green_apple: |
Community.kt | 84.34% | :green_apple: |
EVAProtocol.kt | 75.43% | :x: |
Total Project Coverage | 63% | :green_apple: |
---|
File | Coverage [80.14%] | :green_apple: |
---|---|---|
Transfer.kt | 87.79% | :green_apple: |
Community.kt | 84.34% | :green_apple: |
EVAProtocol.kt | 75.43% | :x: |
Total Project Coverage | 62.98% | :green_apple: |
---|
@InvictusRMC and I discussed and decided to remove additional encryption options within the EVA protocol. Furthermore, the @Synchronized
call is now replaced by a mutex.
File | Coverage [79.9%] | :x: |
---|---|---|
Transfer.kt | 87.79% | :green_apple: |
Community.kt | 83.62% | :green_apple: |
EVAProtocol.kt | 75.43% | :x: |
Total Project Coverage | 62.95% | :green_apple: |
---|
File | Coverage [80.14%] | :green_apple: |
---|---|---|
Transfer.kt | 87.79% | :green_apple: |
Community.kt | 84.34% | :green_apple: |
EVAProtocol.kt | 75.43% | :x: |
Total Project Coverage | 62.97% | :green_apple: |
---|
File | Coverage [79.87%] | :x: |
---|---|---|
Transfer.kt | 87.79% | :green_apple: |
Community.kt | 83.51% | :green_apple: |
EVAProtocol.kt | 75.43% | :x: |
Total Project Coverage | 62.8% | :green_apple: |
---|
This PR introduces 3 improvements to EVA:
encrypt = true
to enable encryption of all EVA packets.@Synchronized
to prevent random race conditions that become prevalent in low-latency scenarios (e.g. when checking for new transfers every <10 ms).