Charles,

There are three options.

Option 1, create a transport library that can be loaded into the emulator:


https://adjacentlink.com/documentation/emane/v1.0.1/TransportBoundaryPlugin.html

and reference the transports contained in the distribution.

Option2, link your application to libemane and embed a transport class
instance. Developer FAQ #4 shows a code snippet for embedding a transport:

  https://adjacentlink.com/documentation/emane/v1.0.1/#FAQ

Option 3, send/receive UDP messages using the wire-level format:

  uint16 Msg Id = 1 (NETADAPTER_DATA_MSG)
  uint16 Length = Total Length in bytes of the entire message
  uint16 Src NEM Id
  uint16 Dst NEM Id
  uint16 Payload length bytes (P)
  uint16 Serialized control messages length bytes (C)
  uint8  Priority
  [P] Bytes payload
  uint16 Number of serialized control messages
  [C] Bytes serialized control messages

Where, each serialized control message in C has the following format:

  uint16 Control message Id
  uint16 Control message length bytes (S)
  [S] Bytes serialized control message

All uint16 values are in network byte order. See:

  emane/src/libemane/boundarymessagemanager.cc

The benefit of option 1 and 2 is that you are using a stable API into
the emulator. Option 3 does not afford the same stability and a current
pending pull modifies this format as well as adds TCP support.

-- 
Steven Galgano
Adjacent Link LLC
www.adjacentlink.com

On 08/11/2017 10:51 AM, Charles Pritchard wrote:
> What is required for sending and receiving data to the platform and
> transport endpoints respectively? Is a header required? Should the data
> be serialized?
> 
> 
> _______________________________________________
> emane-users mailing list
> emane-users@nrl.navy.mil
> https://publists.nrl.navy.mil/mailman/listinfo/emane-users
> 
_______________________________________________
emane-users mailing list
emane-users@nrl.navy.mil
https://publists.nrl.navy.mil/mailman/listinfo/emane-users

Reply via email to