• Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Medium Medium
    • 22.02
    • None
    • hicn/hicn-light
    • None
    • light refactory one

      In hicn-light, a face is typically referring to a connection, itself associated to a listener. This comes from an implementation perspective in which a socket/file descriptor was initially created on a listener, and shared among various connections.

      This is been partly reconsidered for efficient implementation of UDP connections where it was important to use bound and connected UDP socket for faster operation.

      Still, as only connections are involved in the data plane, this organization has not been modified so far, and the face table is in fact made of two data structures:

      • a listener table
      • a connection table

      Both are made of a preallocated memory pool, as well as indices allowing for fast lookup.

      Connection and listener ids are the position of the related vector, allowing for a constant lookup time by id.

      The listener table adds the following indices:

      • by (encapsulation type, listener address) tuple
      • by symbolic name

      The connection table adds the following index:

      • by address pair
      • by symbolic name

            jordan.auge Jordan Augé
            jordan.auge Jordan Augé
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: