Skip to content

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

Open
@balazsracz

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.

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