| # |
| #================================================================================== |
| # Copyright (c) 2020 Nokia |
| # Copyright (c) 2018-2020 AT&T Intellectual Property. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| #================================================================================== |
| # |
| |
| RIC Message Router -- RMR |
| |
| RMR is a message router library which an application can use to send messages |
| to other RMR based applications. The destination of each message is governed |
| by the message type and subscription ID, or just the message type. RMR is |
| responsible for establishing and managing each connection freeing the application |
| from any network connectivity management. |
| |
| This repo contains the source and documentation for the core RMR library. |
| RMR python bindings are available as a submodule in the xapp-frame-py PyPI package at |
| https://pypi.org/project/ricxappframe/ and documented at https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-xapp-frame-py/en/latest/. |
| |
| The directories at the root level are as follows, each contains its own readme |
| file where additional details are necessary. |
| |
| |
| ci This directory contains the continuous integration scripts needed |
| to build and verify RMR when changes are made and committed to the repo. |
| |
| doc RMR documentation is written in a document language and thus is |
| source code. This directory contains the source for all generated |
| documentation. |
| |
| docs This is a 'canned' directory which is intended to be scraped. Direct |
| editing of documentation files in this directory is dangerous as |
| most of the files, even though checked into the repo per mandate, |
| are artifacts and will be overlaid if hand edited. |
| |
| examples This directory contains example programmes which illustrate the use |
| of RMR. |
| |
| ext RMR makes use of NNG (next generation Nanomsg). The ext directory is |
| the git reference allowing the NNG code to be pulled and built as |
| a reference. |
| |
| src This directory is the top level source directory containing the |
| core RMR code. |
| |
| test All unit and application level tests for the core library are kept |
| within this directory. Tests for bindings are managed within the |
| binding's directory under the source directory. |
| |
| Top level pollution |
| There are several "configuration" files which sit at the top level of the |
| repo that are required for some sort of CI/CD/Documentation automation. Most, |
| if not all of the CI/CD goo is in the ci directory where it's out of the way |
| and thus not confusing. However, there is some pollution that can generally |
| be ignored: |
| |
| tox.ini -- this seems to drive the scraper which pulls from docs and |
| writes to some external documentation repo/host. |
| |
| |
| .readthedocs.yaml -- this seems to be some configuration for the docs |
| scraping process(es). |