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
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
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
I would prefer an approach that is consistent with the EMANE framework's
implementation and design.
emane-users mailing list