Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup routing and new_pki #18

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open

Setup routing and new_pki #18

wants to merge 3 commits into from

Conversation

j9plante
Copy link

Changelog :

  • For the rest of the changes, see branch new_pki.

  • Refacto of the test folder to have multiples files in multiple packages :

    • Topology system : Store data about the shoset’s configuration
    • utils_for_test : Functions to easily deploy a topology or a single shoset from a topology.
    • Example of use of the project.
    • Script (run_shoset.sh) to avoid using aliases to clear the .shoset folder before testing.
    • Test multiprocesses :
      • VScode task to launch many scripts in many dedicated terminals at once (need an IDE agnostic way of doing it).
  • Data race elimination :

    • Add missing Lock on IsEmpty() and way to lock it from the outside in queue.go.
    • Add RWMutex to Shoset and ShosetConn.
  • Acknowledge on join and link to know when the connection is ready. (Move storage of the connection after the acknowledge is received.

  • Add protocol field to shosetConn.

  • Change in the behaviour of the configuration storage :

    • Configuration folder for a shoset is in a folder named after the Lname (for readability).
    • Every connection established is stored in the config folder (not only out).
    • When a connection is established, any prior connection to the same Lname on the same IP address is deleted.
    • When an OEF is received, the connection is deleted.
    • Connections can switch from “in” to “out” if a shoset is relaunched.
    • Update script cert_checker.sh (not fully working).
  • mapsyncmap : Generic accessor for append, get and delete.

  • config : Generic accessor for append and delete.

  • Generic function for receiving (Wait) and sending (Send) a message of any type (for which the speceific fonctions are defined).

  • Event bus :

    • Event based Wait function for increased speed and efficiency (not benchmarked) (only for simpleMessage and event).
    • Used in concurentSlice, allows to wait for changes or the slice to be empty. (Used to know when every connection of the shoset is ready.)
  • Routing system :

    • See guide for general principle.
    • Logic to forward receive and send forwardable messages.
    • Message type routingEvent to advertise Lnames in the network.
    • Message type simpleMessage to test message forwarding.
    • Message type forwardAck to confirm the reception of the forwarded message.
  • const.go :

    Various list of message types to define which can do what. (See guide on how to create a new message type.)

  • Script to generate class diagram and call diagram. (see guide)

  • CPU/memory profiler and tracer.

@j9plante j9plante self-assigned this Aug 19, 2022
@sonarqubecloud
Copy link

SonarCloud Quality Gate failed.    Quality Gate failed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 12 Code Smells

0.0% 0.0% Coverage
2.7% 2.7% Duplication

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants