Florian reported that they consume quite a bit of performance.As
they have not been used for development testing since long we should
better remove those.
- Add program args: msgThrottlePerSec, msgThrottlePer10Sec,
sendMsgThrottleTrigger and sendMsgThrottleSleep
- Add ConnectionConfig class with static injected field in Connection
- Cleanups
Issue: If an IOException is raised when attempting to create
tor and the hidden service, the application will just quit without
any indication to the user. One particular scenario where this occurs
is mentioned in https://github.com/bisq-network/bisq/issues/2398.
Cause: There is an explicit statement to exit the application when an
IOException is raised.
Fix: Rather than just exit the application, show an error message
and inform the user what went wrong.
In regtest we got incorrectly onNoPeersAvailable called if the first
seed node in our list was not available. It triggered a
onAllServicesInitialized and led to incorrect behaviour in case we
received data from the second seednode. One bug was that we did not
clone the remaining nodes list in the for loop which led that the list
was empty for each delayed call. The other bug was that we did not
check if there is another connection attempt open when we got a
connection fault from the not available seed.
- gives testnet and regtest a more realistic environment (most assets
would be disabled due lack of trade activity otherwise as testnet and
regtest ahs dao enabled)
We changed the earlier behaviour with delayed execution of chunks of the list as it caused
worse results as if it is processed in one go.
Main reason is probably that listeners trigger more code and if that is called early at
startup we have better chances that the user has not already navigated to a screen where the
trade statistics are used for UI rendering.
We need to take care that the update period between releases stay short as with the current
situation before 0.9 release we receive 4000 objects with a newly installed client, which
causes the application to stay stuck for quite a while at startup.
It is no longer necessary to publish Maven metadata about common, core
and other submodules as they are no longer managed as separate libraries
in separate repositories. The only way these modules should be getting
referenced is from within applications in this repository such as
desktop, statsnode, etc. Essentially, we're no longer publishing our
libraries for public consumption.
- We introduce a new basic storage type for reading from a resource file
if available and reading initial db file if available. That is required
for the snapshots of the DaoState which will be shipped with the source
code.
- We separate the support for maps to MapStoreService
- Add check for isBootstrapped before calling
processProtectedMailboxStorageEntry
- Add call of to maybeProcessAllMailboxEntries at
onUpdatedDataReceived and onTorNodeReady
- We saw that we get a NetworkNotReadyException called but it is unclear
why that can happen as that method should be only called after bootstrap
flag is set. But anyway that is not a critical issue as it only removes
the mailboxMessage and in case we are nto well connected it would get
removed by the TTL.