{"id":27301561,"url":"https://github.com/eprosima/discovery-server-docs","last_synced_at":"2026-01-23T03:54:06.029Z","repository":{"id":42437325,"uuid":"194644963","full_name":"eProsima/Discovery-Server-docs","owner":"eProsima","description":"Discovery Server's documentation","archived":false,"fork":false,"pushed_at":"2022-12-27T16:00:32.000Z","size":9595,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-08-10T03:25:12.112Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eProsima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-01T09:44:22.000Z","updated_at":"2023-06-01T03:54:01.000Z","dependencies_parsed_at":"2023-01-31T05:01:13.842Z","dependency_job_id":null,"html_url":"https://github.com/eProsima/Discovery-Server-docs","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eProsima%2FDiscovery-Server-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eProsima%2FDiscovery-Server-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eProsima%2FDiscovery-Server-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eProsima%2FDiscovery-Server-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eProsima","download_url":"https://codeload.github.com/eProsima/Discovery-Server-docs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505957,"owners_count":21115354,"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":[],"created_at":"2025-04-12T01:46:49.550Z","updated_at":"2026-01-23T03:54:06.001Z","avatar_url":"https://github.com/eProsima.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eProsima Discovery Server Documentation\n\n\u003ca href=\"http://www.eprosima.com\"\u003e\n    \u003cimg src=\"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSd0PDlVz1U_7MgdTe0FRIWD0Jc9_YH-gGi0ZpLkr-qgCI6ZEoJZ5GBqQ\" align=\"left\" hspace=\"8\" vspace=\"2\" width=\"100\" height=\"100\" \u003e\n\u003c/a\u003e\n\nThe [RTPS standard](http://www.omg.org/spec/DDSI-RTPS/2.3) specifies in section 8.5 a non-centralized, distributed\nsimple discovery mechanism. This mechanism was devised to allow interoperability among independent\nvendor-specific implementations but it is not expected to be optimal in every environment.\nThere are several scenarios were the simple discovery mechanism is unsuitable or plainly cannot be\napplied:\na) a high number of endpoint entities are continuously entering and exiting a large network.\nb) networks without multicasting capabilities.\nc) WiFi-based communication networks.\n\nIn order to cope with the aforementioned issues, the *eProsima Fast DDS* discovery mechanisms are extended with a new\nDiscovery Server discovery paradigm.\nThis is based on a client-server architecture, i.e. the metatraffic (message exchange among\nDDS DomainParticipants to identify each other) is managed by one or several server DomainParticipants (right figure),\nas opposed to simple discovery (left figure), where metatraffic is exchanged using a message broadcast mechanism like\nan IP multicast protocol.\nPlease, refer to\n[Fast DDS documentation](https://fast-dds.docs.eprosima.com/en/latest/fastdds/discovery/server_client.html) for\nfurther information about the Discovery Server discovery mechanism.\n\n![discovery diagrams][diagrams]\n\n[diagrams]: docs/01-figures/ds_uml.png\n\nThe Discovery Server tool is developed to ease Discovery Server discovery mechanism setup and testing.\n\nYou can find all the application's source code on our [GitHub repository](https://github.com/eProsima/Discovery-Server).\n\nThe documentation is built using [Sphinx](https://www.sphinx-doc.org), and it is hosted at\n[Read the Docs](https://readthedocs.org).\nThe online documentation generated with this project can be found in\n[Discovery Server documentation](https://eprosima-discovery-server.readthedocs.io).\n\n1. [Installation Guide](#installation-guide)\n1. [Getting Started](#getting-started)\n1. [Generating documentation in other formats](#generating-documentation-in-other-formats)\n1. [Running documentation tests](#running-documentation-tests)\n1. [Contributing](#contributing)\n\n## Project structure\n\nThe project is structured as follows:\n\n1. The root directory contains global scope files, such as this one.\n1. The [docs directory](docs) contains all documentation source code.\n\n## Installation Guide\n\n1. In order to build and test the documentation, some dependencies must be installed beforehand:\n\n    ```bash\n    sudo apt update\n    sudo apt install -y \\\n        git \\\n        gcc \\\n        g++ \\\n        cmake \\\n        curl \\\n        wget \\\n        libasio-dev \\\n        libtinyxml2-dev \\\n        doxygen \\\n        python3 \\\n        python3-pip \\\n        python3-venv \\\n        python3-sphinxcontrib.spelling \\\n        imagemagick\n    ```\n\n1. Clone the repository\n\n    ```bash\n    cd ~\n    git clone https://github.com/eProsima/Discovery-Server-docs discovery-server-docs\n    ```\n\n1. Create a virtual environment and install python3 dependencies.\n\n    ```bash\n    cd ~/discovery-server-docs\n    python3 -m venv discovery-server-docs-venv\n    source discovery-server-docs-venv/bin/activate\n    pip3 install -r docs/requirements.txt\n    cd discovery-server-docs-venv/lib/\u003cpython-version\u003e/site-packages\n    curl https://patch-diff.githubusercontent.com/raw/sphinx-doc/sphinx/pull/7851.diff | git apply\n    cd -\n    ```\n\n    The version of python3 used in the virtual environment can be seen by running the following command within the\n    virtual environment:\n\n    ```bash\n    python3 -V\n    ```\n\n## Getting Started\n\nTo generate the documentation in a HTML format for a specific branch of Fast DDS run:\n\n```bash\ncd ~/discovery-server-docs\nsource discovery-server-docs-venv/bin/activate\nmake html\n```\n\n## Generating documentation in other formats\n\nThe documentation can be generated in several formats such as HTML, PDF, LaTex, etc. For a complete list of targets run:\n\n```bash\ncd ~/discovery-server-docs\nmake help\n```\n\nOnce you have selected a format, generate the documentation with:\n\n```bash\ncd ~/discovery-server-docs\nsource discovery-server-docs-venv/bin/activate\nFASTDDS_BRANCH=\u003cbranch\u003e make \u003coutput_format\u003e\n```\n\n## Running documentation tests\n\nDISCLAIMER: In order to run documentation tests, access to eProsima's intranet is required.\n\nThis repository provides a set of tests that verify that:\n\n1. The RST follows the style guidelines\n1. The HTML is built correctly\n1.There are no spelling errors\n\nRun the tests by:\n\n```bash\ncd ~/discovery-server-docs\nsource discovery-server-docs-venv/bin/activate\nFASTDDS_BRANCH=\u003cbranch\u003e make test\n```\n\n## Contributing\n\nIf you are interested in making some contributions, either in the form of an issue or a pull request, please refer to\nour [Contribution Guidelines](https://github.com/eProsima/all-docs/blob/master/CONTRIBUTING.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feprosima%2Fdiscovery-server-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feprosima%2Fdiscovery-server-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feprosima%2Fdiscovery-server-docs/lists"}