Third Party updates
Updated gtest / gmock / protobuf to the latest versions and now they pass our strict compile flags and sanitiser tests (mostly). Third party code all under test and checked dynamically and statically for code errors. LevelDb (used for storing persona data in Vaults) still presents possible issues as it does not pass all Windows tests; we are investigating SQLite for this purpose with memory tables. We also evaluated Unqlite and then SQLlite for the purpose of multiprocess access of bootstrap file. We finally decided on using SQLite as it is heavily tested and has a more mature library.
Testnet 1 RUDP performance improvement
Maidsafe saw a lot of third party library dependencies updated to their latest versions this week, which has meant a lot of time expended adjusting things for breakages. That said, time was found to get the CI tracking RUDP performance over builds, so if you have a look at the Jenkins dashboard at https://ci.nedprod.com/ you’ll see a neat new RUDP Performance history graph, which shows RUDP performance per build for 0%, 1%, 2.5% and 5% simulated packet losses. As you will note, currently ANY packet loss causes instability in RUDP and the test fails, so first order of business will be getting RUDP stable with as much as 5% packet loss, after which we shall start to think about performance.
Routing / Vaults
Simplified the routing table interface by removing duplicate functions and merging similar functions to one. Removed remove_node_functor, close_node_change_functor, network_status_functor and network_statistics_ from routing table by introducing RoutingTableChange struct, which enables handling all changes outside routing table. Removal of group matrix from routing table introduced some joining issues with client and is now fixed. We also changed the way clients are notified on appearance of closer Vaults in the Network. Tested Group Matrix removal changes.
TestNet1 - bootstrap files
Finalised the approach to handling bootstrap files and aiming to complete the change by early next week. This will allow work to continue on the API changes and auth example.
Vault Manager (now completed)
Bugfix in detection of TCP connection failure in Vault Manager.
Local Testnet 0
As office testnet setup and teardown is automated to bring up network with our daily commits every morning, we plan to run CI nightly suites against the network.
Drive Launcher and Drive
Worked towards using TCP in place of shared memory IPC between Drive Launcher and Drive.
Local Network Trigger
Worked on test utility to trigger local network for gtests if it’s not already running.
Find our Roadmap here > https://github.com/maidsafe/MaidSafe/wiki/Roadmap