Skip to content

Notes for if we want to replace nanomsg with nng in the future #1365

@jafingerhut

Description

@jafingerhut

p4lang projects behavioral-model, ptf, and p4c have used nanomsg for many years. There is no urgency to replace nanomsg.

nng [1] [2] is a successor to nanomsg. While it supports compatibility with some parts of nanomsg, e.g. it installs header files in directory <nng/compat/nanomsg> that have the same names as corresponding include files in nanomsg, nng does not as o 2026-Apr-06 implement the function nn_symbol, which is used by behavioral-model code. The new function nn_symbol_info might be provide a superset of its functionality, but this would need to be examined and tested to be sure.

The draft mode PR #1364 might be useful as a starting point for developing a full working PR that replaces nanomsg with nng, but I am not knowledgeable enough about the details to know whether discarding it and starting from scratch might be more productive.

[1] https://github.com/nanomsg/nng
[2] https://nng.nanomsg.org

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