blob: bbb5d180ade77bc21f98f3b61fcab17a4b700844 [file] [log] [blame]
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -04001#
2#==================================================================================
E. Scott Danielsb0ba22e2019-08-06 13:26:12 -04003# Copyright (c) 2019 Nokia
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -04004# Copyright (c) 2018-2019 AT&T Intellectual Property.
5#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#==================================================================================
18#
19
E. Scott Daniels392168d2019-11-06 15:12:38 -050020RIC Message Router -- RMR
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040021
E. Scott Daniels392168d2019-11-06 15:12:38 -050022RMR is a message router library which an application can use to send messages
23to other RMR based applications. The destination of each message is governed
24by the message type and subscription ID, or just the message type. RMR is
25responsible for establishing and managing each connection freeing the application
26from any network connectivity management.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040027
E. Scott Daniels392168d2019-11-06 15:12:38 -050028This repo contains the source and documentation for both the core RMR library
29and for the Python bindings which allow a Python (v3) application to use RMR
30to send and receive messages.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040031
E. Scott Daniels392168d2019-11-06 15:12:38 -050032The directories at the root level are as follows, each contains its own readme
33file where additional details are necessary.
E. Scott Danielsb0ba22e2019-08-06 13:26:12 -040034
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040035
E. Scott Daniels392168d2019-11-06 15:12:38 -050036ci This directory contains the continuous integration scripts needed
37 to build and verify RMR when changes are made and committed to the repo.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040038
E. Scott Daniels392168d2019-11-06 15:12:38 -050039doc RMR documentation is written in a document language and thus is
40 source code. This directory contains the source for all generated
41 documentation.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040042
E. Scott Daniels392168d2019-11-06 15:12:38 -050043docs This is a 'canned' directory which is intended to be scraped. Direct
44 editing of documentation files in this directory is dangerous as
45 most of the files, even though checked into the repo per mandate,
46 are artifacts and will be overlaid if hand edited.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040047
E. Scott Daniels392168d2019-11-06 15:12:38 -050048examples This directory contains example programmes which illustrate the use
49 of RMR.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040050
E. Scott Daniels392168d2019-11-06 15:12:38 -050051ext RMR makes use of NNG (next generation Nanomsg). The ext directory is
52 the git reference allowing the NNG code to be pulled and built as
53 a reference.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040054
E. Scott Daniels392168d2019-11-06 15:12:38 -050055src This directory is the top level source directory containing both the
56 core RMR code, and any bindings which have been written.
Ashwin Sridharanfd9cc7a2019-04-03 16:47:02 -040057
E. Scott Daniels392168d2019-11-06 15:12:38 -050058test All unit and application level tests for the core library are kept
59 within this directory. Tests for bindings are managed within the
60 binding's directory under the source directory.
E. Scott Danielsb7a4b522019-11-07 15:35:17 -050061
62Top level pollution
63There are several "configuration" files which sit at the top level of the
64repo that are required for some sort of CI/CD/Documentation automation. Most,
65if not all of the CI/CD goo is in the ci directory where it's out of the way
66and thus not confusing. However, there is some pollution that can generally
67be ignored:
68
E. Scott Daniels9528bb92019-12-03 14:26:03 -050069 tox.ini -- this seems to drive the scraper which pulls from docs and
E. Scott Danielsb7a4b522019-11-07 15:35:17 -050070 writes to some external documentation repo/host.
71
E. Scott Daniels9528bb92019-12-03 14:26:03 -050072
E. Scott Danielsb7a4b522019-11-07 15:35:17 -050073 .readthedocs.yaml -- this seems to be some configuration for the docs
74 scraping process(es).