Skip to content

Changes for v1.1 #65

@pavel-kirienko

Description

@pavel-kirienko

There will be a new major release to support v1.1. We will probably implement these changes as part of v3. v2 is currently staged but I don't want to further inflate that release.

Features needed, per the current status of the named topic proposal:

  • Update transfer-ID handling #62. This includes removing the special case of 2^64-1 being an invalid transfer-ID.
  • Check for node-ID collisions in LibUDPard. A possible way to do it is to expose the transfer metadata for every received frame via an out-parameter of udpardRxSubscriptionReceive, and similarly for udpardRxRPCDispatcherReceive.
  • New header format Notes on future transport frame headers specification#143. Use v2 header by default; switch back to v1 header automatically if one is received.
  • Subject-ID space spanning the full u16 range. The larger subject-ID values can only be emitted using v2 header.
  • Topic hash support for subscriptions.
  • Add a new AVL tree containing instances of UdpardInternalRxSession that require acknowledgements to be sent (new states: number of acknowledgements sent (should be 2 per ack)). The application will check the queue periodically in a way similar to the transmission queue. We could push to the transmission queue directly, but this approach is flawed for two reasons: 1. Memory allocation for the new queue items may fail, which will cause ack loss, while linking AVL trees does not require any additional memory. 2. We don't want the library to be involved with higher-level concepts that involve the composition/interpretation of the transfer payload; it should deal with the low-level transport only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions