{"id":13548465,"url":"https://github.com/named-data/NFD","last_synced_at":"2025-04-02T21:31:33.789Z","repository":{"id":886356,"uuid":"16272443","full_name":"named-data/NFD","owner":"named-data","description":"Named Data Networking Forwarding Daemon","archived":false,"fork":false,"pushed_at":"2024-04-14T22:20:36.000Z","size":9290,"stargazers_count":161,"open_issues_count":0,"forks_count":146,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-04-19T22:25:10.257Z","etag":null,"topics":["cpp","forwarding","ndn","networking","packet-forwarder","router"],"latest_commit_sha":null,"homepage":"https://docs.named-data.net/NFD","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/named-data.png","metadata":{"files":{"readme":"README-dev.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null}},"created_at":"2014-01-27T07:43:57.000Z","updated_at":"2024-04-22T02:44:05.566Z","dependencies_parsed_at":"2023-07-05T21:01:52.542Z","dependency_job_id":"cf3c0064-4157-4fc0-a501-2acde2c3502c","html_url":"https://github.com/named-data/NFD","commit_stats":{"total_commits":1447,"total_committers":53,"mean_commits":27.30188679245283,"dds":0.6938493434692468,"last_synced_commit":"d6ea0b1e0e8d5be7be88cd00e5721bffe685758f"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FNFD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FNFD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FNFD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/named-data%2FNFD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/named-data","download_url":"https://codeload.github.com/named-data/NFD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246895770,"owners_count":20851324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","forwarding","ndn","networking","packet-forwarder","router"],"created_at":"2024-08-01T12:01:10.749Z","updated_at":"2025-04-02T21:31:32.482Z","avatar_url":"https://github.com/named-data.png","language":"C++","readme":"# Notes for NFD developers\n\nIf you are new to the NDN software community, please read our\n[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md).\n\n## Code style\n\nNFD code is subject to [NFD code style](https://redmine.named-data.net/projects/nfd/wiki/CodeStyle).\n\n## Licensing\n\nContributions to NFD must be licensed under the GPL v3 or a compatible license.\nIf you choose the GPL v3, please use the following license boilerplate in all `.hpp`\nand `.cpp` files:\n\n```cpp\n/* -*- Mode:C++; c-file-style:\"gnu\"; indent-tabs-mode:nil; -*- */\n/*\n * Copyright (c) [Year(s)], [Copyright Holder(s)].\n *\n * This file is part of NFD (Named Data Networking Forwarding Daemon).\n * See AUTHORS.md for complete list of NFD authors and contributors.\n *\n * NFD is free software: you can redistribute it and/or modify it under the terms\n * of the GNU General Public License as published by the Free Software Foundation,\n * either version 3 of the License, or (at your option) any later version.\n *\n * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n * PURPOSE.  See the GNU General Public License for more details.\n *\n * You should have received a copy of the GNU General Public License along with\n * NFD, e.g., in COPYING.md file.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n */\n```\n\nIf you are affiliated to an NSF-supported NDN project institution, please use the [NDN Team License\nBoilerplate](https://redmine.named-data.net/projects/nfd/wiki/NDN_Team_License_Boilerplate_(NFD)).\n\n## Logging\n\nFine-grained per-module logging can be configured via the `NDN_LOG` environment variable.\nThis is especially useful when running unit tests or tools such as `nfdc` that do not\nhave a configuration file.  See `ndn-log(7)` manual page for syntax and examples.\n\n## Unit tests\n\nTo run the unit tests, NFD needs to be configured and built with unit test support:\n\n```shell\n./waf configure --with-tests # --debug is also strongly recommended while developing\n./waf\n```\n\nThe simplest way to run the tests is to launch the compiled binary without any parameters:\n\n```shell\n# Run core tests\n./build/unit-tests-core\n\n# Run NFD daemon tests\n./build/unit-tests-daemon\n\n# Run tools tests (e.g., nfdc)\n./build/unit-tests-tools\n```\n\nThe [Boost.Test framework](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/index.html)\nis very flexible and allows a number of run-time customization of what tests should be run.\nFor example, it is possible to choose to run only a specific test suite, only a specific\ntest case within a suite, specific test cases across multiple test suites, and so on:\n\n```shell\n# Run only the PIT tests inside the Table test suite of NFD daemon tests\n./build/unit-tests-daemon -t Table/TestPit\n\n# Run only the test case \"Find\" from the previous test suite\n./build/unit-tests-daemon -t Table/TestPit/Find\n\n# Run the \"Basic\" test case from all NFD RIB test suites\n./build/unit-tests-daemon -t Rib/*/Basic\n```\n\nBy default, Boost.Test framework will produce verbose output only when a test case fails.\nIf it is desired to see verbose output (result of each test assertion), add `-l all`\noption to `./build/unit-tests` command.  To see test progress, you can use `-l test_suite`,\nor `-p` to show a progress bar:\n\n```shell\n# Show report all log messages including the passed test notification\n./build/unit-tests-daemon -l all\n\n# Show test suite messages\n./build/unit-tests-daemon -l test_suite\n\n# Show nothing\n./build/unit-tests-daemon -l nothing\n\n# Show progress bar\n./build/unit-tests-tools -p\n```\n\nThere are many more command line options available, information about which can be obtained\neither from the command line using the `--help` switch, or online on the\n[Boost.Test website](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/runtime_config.html).\n","funding_links":[],"categories":["C++","cpp"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamed-data%2FNFD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamed-data%2FNFD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamed-data%2FNFD/lists"}