This example assumes three players scenario across two physical machines.
Machine A runs Iguana with two channels.
Player One – First channel reads data for ASTM message from file, then generates ASTM message and ASTM TCP Client (Sender) sends this message out, over TCP/IP, to Lua ASTM TCP Server (Listener) running on second host.
Player Three – Second channel runs Iguana Web Server, to listen to HTTP POST requests from second physical machine, from Lua ASTM TCP Server (Listener).
Player Two – Machine B has Lua binaries installed and it runs Lua ASTM TCP Server (Listener) scripts.
When Lua ASTM TCP Server receives one ASTM message, it will verify each Frame checksum and will send out only good Frames to Iguana Web Server.
Note: That in this example only ‘good’ frames piped through. ‘Bad’ frames simply omitted from message. Which means that for Production environment, one would rather fail entire message if even one Frame failed checksum validation. In other words, this script has to be enhanced for to be used in Production. This script is only example how to handle ASTM communications and verify Frames. Every real life implementation will require some changes to this script.
Iguana Web Server will push arrived ASTM message, received from Lua ASTM TCP Server and serialized as JSON object, into Iguana queue for further processing.
Although complete Iguana configuration is offered below for download, user will have to do quite a lot of manual configuration to have this setup to run properly.
Amount of manual configuration could possibly be reduced greatly by reading environment variables, etc… However, while doing this configuration manually user gets a chance to get into nuts and bolts of suggested scripts.
For configuration recommendations please refer to listed below documents.
- Translator as ASTM TCP Client (Sender)
- Translator as Web Server to receive data from Lua ASTM TCP Server
- Lua ASTM TCP Server (Listener)
Please comment and share your personal experience.