asn1_codec

所属分类:中间件编程
开发工具:C++
文件大小:0KB
下载次数:0
上传日期:2023-09-15 17:56:12
上 传 者sh-1993
说明:  使用Kafka消息中心对ASN.1消息流进行编码和解码的模块,用于与数据源和数据目的地通信...,
(Module to encode and decode ASN.1 streams of messages using Kafka messaging hub for communication with the data source and data destination in a pub/sub scheme.)

文件列表:
.devcontainer/ (0, 2023-11-29)
.devcontainer/Dockerfile (1421, 2023-11-29)
.devcontainer/devcontainer.json (1219, 2023-11-29)
.devcontainer/reinstall-cmake.sh (1751, 2023-11-29)
.travis.yml (1626, 2023-11-29)
CMakeLists.txt (3220, 2023-11-29)
Dockerfile (2200, 2023-11-29)
Dockerfile.dev (2492, 2023-11-29)
Dockerfile.standalone (2034, 2023-11-29)
Doxyfile (103013, 2023-11-29)
LICENSE (11357, 2023-11-29)
asn1c/ (0, 2023-11-29)
asn1c_combined/ (0, 2023-11-29)
asn1c_combined/J2735_201603DA.ASN (224022, 2023-11-29)
asn1c_combined/SEMI_v2.3.0_070616.asn (22039, 2023-11-29)
asn1c_combined/doIt.sh (418, 2023-11-29)
build.sh (877, 2023-11-29)
build_codec.sh (754, 2023-11-29)
build_local.sh (2389, 2023-11-29)
config/ (0, 2023-11-29)
config/Output.error.xml (742, 2023-11-29)
config/adm.properties (1042, 2023-11-29)
config/aem.properties (1042, 2023-11-29)
config/example.blobconsumer.properties (611, 2023-11-29)
config/example.properties (861, 2023-11-29)
config/test/ (0, 2023-11-29)
config/test/c1.properties (861, 2023-11-29)
data/ (0, 2023-11-29)
data/Ieee1609Dot2Data.unsecuredData.Bsm.coer (228, 2023-11-29)
data/Ieee1609Dot2Data.unsecuredData.Bsm.coer.bah.hex (457, 2023-11-29)
... ...

# Abstract Syntax Notation One (ASN.1) Codec Module for the Operational Data Environment (ODE) The ASN.1 Codec Module (ACM) processes Kafka data streams that preset [ODE Metadata](https://github.com/usdot-jpo-ode/jpo-ode/blob/develop/docs/metadata_standards.md) wrapped ASN.1 data. It can perform one of two functions depending on how it is started: 1. **Decode**: This function is used to process messages *from* the connected vehicle environment *to* ODE subscribers. Specifically, the ACM extacts binary data from consumed messages (ODE Metatdata Messages) and decodes the binary ASN.1 data into a structure that is subsequently encoded into an alternative format more suitable for ODE subscribers (currently XML using XER). 1. **Encode**: This function is used to process messages *from* the ODE *to* the connected vehicle environment. Specifically, the ACM extracts human-readable data from ODE Metadata and decodes it into a structure that is subsequently *encoded into ASN.1 binary data*. ![ASN.1 Codec Operations](docs/graphics/asn1codec-operations.png) # Table of Contents 1. [Release Notes](#release-notes) 1. [Getting Involved](#getting-involved) 1. [Documentation](#documentation) 1. [Installation](docs/installation.md) 1. [Configuration and Operation](docs/configuration.md) 1. [Interface](docs/interface.md) 1. [Testing](docs/testing.md) 1. [Project Management](#project-management) 1. [Confluent Cloud Integration](#confluent-cloud-integration) ## Release Notes The current version and release history of the asn1_codec: [asn1_codec Release Notes]() # Getting Involved This project is sponsored by the U.S. Department of Transportation and supports Operational Data Environment data type conversions. Here are some ways you can start getting involved in this project: - **Pull the code and check it out!** The ASN.1 Codec project uses the [Pull Request Model](https://help.github.com/articles/using-pull-requests). - Github has [instructions](https://help.github.com/articles/signing-up-for-a-new-github-account) for setting up an account and getting started with repositories. - If you would like to improve this code base or the documentation, [fork the project](https://github.com/usdot-jpo-ode/asn1_codec#fork-destination-box) and submit a pull request. - If you find a problem with the code or the documentation, please submit an [issue](https://github.com/usdot-jpo-ode/asn1_codec/issues/new). ## Introduction This project uses the [Pull Request Model](https://help.github.com/articles/using-pull-requests). This involves the following project components: - The usdot-jpo-ode organization project's [master branch](https://github.com/usdot-jpo-ode/asn1_codec). - A personal GitHub account. - A fork of a project release tag or master branch in your personal GitHub account. A high level overview of our model and these components is as follows. All work will be submitted via pull requests. Developers will work on branches on their personal machines (local clients), push these branches to their **personal GitHub repos** and issue a pull request to the organization asn1_codec project. One the project's main developers must review the Pull Request and merge it or, if there are issues, discuss them with the submitter. This will ensure that the developers have a better understanding of the code base *and* we catch problems before they enter `master`. The following process should be followed: ## Initial Setup 1. If you do not have one yet, create a personal (or organization) account on GitHub (assume your account name is ``). 1. Log into your personal (or organization) account. 1. Fork [asn1_codec](https://github.com/usdot-jpo-ode/asn1_codec/fork) into your personal GitHub account. 1. On your computer (local client), clone the master branch from you GitHub account: ```bash $ git clone https://github.com//asn1_codec.git ``` ## Additional Resources for Initial Setup - [About Git Version Control](http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control) - [First-Time Git Setup](http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup) - [Article on Forking](https://help.github.com/articles/fork-a-repo) # Documentation This documentation is in the `README.md` file. Additional information can be found using the links in the [Table of Contents](#table-of-contents). All stakeholders are invited to provide input to these documents. Stakeholders should direct all input on this document to the JPO Product Owner at DOT, FHWA, or JPO. ## Code Documentation Code documentation can be generated using [Doxygen](https://www.doxygen.org) by following the commands below: ```bash $ sudo apt install doxygen $ cd /asn1_codec $ doxygen ``` The documentation is in HTML and is written to the `/asn1_codec/docs/html` directory. Open `index.html` in a browser. ## Project Management This project is managed using the Jira tool. - [Jira Project Portal](https://usdotjpoode.atlassian.net/secure/Dashboard.jsp) # Confluent Cloud Integration Rather than using a local kafka instance, the ACM can utilize an instance of kafka hosted by Confluent Cloud via SASL. ## Environment variables ### Purpose & Usage - The DOCKER_HOST_IP environment variable is used to communicate with the bootstrap server that the instance of Kafka is running on. - The KAFKA_TYPE environment variable specifies what type of kafka connection will be attempted and is used to check if Confluent should be utilized. - The CONFLUENT_KEY and CONFLUENT_SECRET environment variables are used to authenticate with the bootstrap server. ### Values - DOCKER_HOST_IP must be set to the bootstrap server address (excluding the port) - KAFKA_TYPE must be set to "CONFLUENT" - CONFLUENT_KEY must be set to the API key being utilized for CC - CONFLUENT_SECRET must be set to the API secret being utilized for CC ## CC Docker Compose File There is a provided docker-compose file (docker-compose-confluent-cloud.yml) that passes the above environment variables into the container that gets created. Further, this file doesn't spin up a local kafka instance since it is not required. ## Note This has only been tested with Confluent Cloud but technically all SASL authenticated Kafka brokers can be reached using this method.

近期下载者

相关文件


收藏者