Paper |
Title |
Page |
TUP024 |
Generation of Simple, Type-Safe Messages for Inter-Task Communications
|
137 |
|
- R. Neswold, C. King
Fermilab, Batavia
|
|
|
Messages exchanged between ACNET tasks have been, traditionally, C structures defined using a certain "endianness" and packed with a specific alignment. This is less than ideal since every new implementation experiences the same error-prone development cycle to get the layout correct and there are no guarantees the data is validated by the receiver. We present a utility, inspired by Google's Protocol Buffers, which generates the source code that marshals and unmarshals messages. The utility generates C++ and Java source, with more target languages planned. Messages are represented and manipulated using the host language's native data types. The generated module guarantees the received message contains the required fields and is of the correct type.
|
|
|
Poster
|
|
THP081 |
Extending ACNET Communication Types to Include Multicast Semantics
|
830 |
|
- R. Neswold, C. King
Fermilab, Batavia
|
|
|
The ACNET Control System has several services that require multicast messaging. Unfortunately, these instances were solved in proprietary ways, not using our standard infrastructure. We've recently added multicast support to ACNET so that applications gain multicast abilities using standard ACNET libraries without needing to manage multicast resources. Multicast support was also added to request/reply communications which allows service discovery, load balancing, and multi-node data streaming all within our normal ACNET framework.
|
|
|
Poster
|
|