# Achievements

After all this effort of creating the generic `comms` library, let's summarise what has been achieved.

* The communication protocol implementation becomes easy and straightforward

  process, using mostly declarative statements of classes and types definitions

  without unnecessary boilerplate code. The C++ compiler does all the dirty and

  boring work of generating the required code.
* The default logic, provided by the library, can easily be extended and/or

  overridden using class inheritance and virtual functions.
* The protocol implementation doesn't enforce any restrictions on data structures

  being used, and as a result it can be reused in any system, including bare-metal

  ones.
* There is no dependency on any specific I/O link and the way the data is

  being communicated.&#x20;
* The application level messages and transport data are completely independent,

  which allows usage of the same application level messages over different I/O

  links, which require different transport wrapping, at the same time.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://alex-robenko.gitbook.io/comms-protocols-cpp/head-4.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
