@@ -50,22 +50,22 @@ may be created. To avoid that there is a need to request "static-binary-search"
5050process as well. In order to understand how to do it there is a need to dive a little bit into the
5151[COMMS Library](https://github.com/commschamp/comms) internals.
5252
53- The framing uses [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html)
53+ The framing uses [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html)
5454which is responsible to read received numeric message ID and create appropriate message object.
5555In order to create such object the
56- [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html)
56+ [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html)
5757contains [comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html) in its
5858private data members. The
5959contained [comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html)
6060can be configured to use appropriate dispatch logic via its options. The relevant options are:
6161`comms::option::app::ForceDispatchPolymorphic`, `comms::option::app::ForceDispatchStaticBinSearch`, or
6262`comms::option::app::ForceDispatchLinearSwitch`. The
63- [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html)
63+ [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html)
6464has its own supported options which it processes. The ones it doesn't expect are passed to the
6565[comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html).
6666It means in order to avoid creation of virtual functions inside
6767[comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html) the
68- [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html)
68+ [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html)
6969needs to receive `comms::option::app::ForceDispatchStaticBinSearch` option.
7070
7171The used `Frame` inside the [include/tutorial11/frame/Frame.h](include/tutorial11/frame/Frame.h) is defined
@@ -192,7 +192,7 @@ private:
192192Another curious thing to notice is a lack of virtual destructor for the common message interface
193193class (due to the lack of any polymorphic behaviour). During the ` read() ` operation the frame
194194dynamically allocates proper message object and holds it by the ` std::unique_ptr ` to the
195- ** common message interface** class (see [ Frame::MsgPtr] ( https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1ProtocolLayerBase .html ) ).
195+ ** common message interface** class (see [ Frame::MsgPtr] ( https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1ProtocolLayerBase .html ) ).
196196After reading these statements any experienced C++ developer should scream about
197197incorrect message destruction and potential memory leaks. ** HOWEVER** , this is not the case
198198with the [ COMMS Library] ( https://github.com/commschamp/comms ) . It
@@ -319,11 +319,11 @@ std::size_t ClientSession::processInputImpl(const std::uint8_t* buf, std::size_t
319319 to the common message interface class, but with a custom deleter which insures
320320 correct destruction and de-allocation of the object.
321321- The framing layer responsible for allocation of the message object is
322- [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html), which
322+ [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html), which
323323 uses [comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html) in its
324324 private data members to allocate appropriate message object when the ID value is known.
325325- The message allocation options passed to the
326- [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1protocol_1_1MsgIdLayer .html) are
326+ [comms::frame::MsgIdLayer](https://commschamp.github.io/comms_doc/classcomms_1_1frame_1_1MsgIdLayer .html) are
327327 also forwarded to [comms::MsgFactory](https://commschamp.github.io/comms_doc/classcomms_1_1MsgFactory.html). They
328328 can be used to force a particular dispatch policy for mapping numeric message ID into the message type.
329329- In order to forcefully avoid generation on polymorphic dispatch table inside
0 commit comments