Skip to content

Outgoing message does not look up destination alias in case of cache miss #2

Description

@balazsracz

JMRI maintains a cache of all known aliases on the CAN network. The code tries to fill this cache upon startup, and track AMD and AMR frames to have fresh information.
When sending a message, the alias map cache is used to turn a NodeID into a 12-bit alias. In case there is a cache miss, the outgoing message will be useless (alias of zero) or will be dropped to the floor, or we may even see an NPE.
The correct behavior is that if the destination node does not have an alias in the cache, then an AME frame has to be sent out, and if there is no reply with an AMD, then a Verify Node ID global message has to be sent out, expecting a potential alias allocation and a node ID verified response.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions