I have a custom shim that needs to be controlled dynamically runtime/and have information extracted from an external application as a separate process from EMANE proper. The custom shim is part of a configured EMANE emulation stack, but the data transfers would not be over the air to another peer NEM, but this control traffic would exist between the external application and EMANE proper at perhaps the transport layer.
What are the best practices for allowing the external application to both make dynamic configuration changes to the custom shim executing as part of the EMANE framework, as well as extracting information from this custom shim? In the downstream direction from external application to custom EMANE shim, I assume that a starting point might be to define custom messages using the Protobuf/serialization methods native to EMANE messaging, and then create a handler in the processUpstreamControl method to act as a destination/recipient of the control message. EMANE has examples of perhaps something similar for downstream messaging with transmitter control, frequency control, time stamp messaging, etc. In the upstream direction from custom shim to external application, I suppose I could use the "poll" method similar to the OpenStatistics or OpenTestPoint, and have the external application pull the information from the shim over a network socket. But what about a upstream push operation, where the shim would push content to the external application rather than having this information requested or mined. Does that simply require the converse to the downstream direction, where the external application would need to establish some form of listener to the serialized Protobuf content? This external application could use some of the EMANE libraries and will be coded in C++. The control information could travel as part of data plane traffic to the external application, but may not have a one to one relationship with data plane traffic. I would prefer an approach that is consistent with the EMANE framework's implementation and design.
_______________________________________________ emane-users mailing list email@example.com https://publists.nrl.navy.mil/mailman/listinfo/emane-users