C/C++ Transport Plug-in Development
The
transport layer is the front-end of the IAF. The transport layer’s purpose is to abstract away the differences between the programming interfaces exposed by different middleware message sources and sinks. It consists of one or more custom plug-in libraries that extract
downstream messages from external message sources ready for delivery to the codec layer, and send Apama events already encoded by the codec layer
upstream to the external message sink. See
The Integration Adapter Framework for a full introduction to transport plug-ins and the IAF’s architecture.
An adapter should send events to the correlator only after its start function is called and before the stop function returns.
This topic includes the C/C++ Transport Plug-in Development Specification and additional information for developers of event transports using C/C++.
Transport Plug-in Development in Java provides information about developing transport plug-ins in Java.
To configure the build for a transport plug-in:
On Linux, copying and customizing an Apama makefile from a sample application is the easiest method.
On Windows, you might find it easiest to copy an Apama sample project. If you prefer to use a project you already have, be sure to add
$(APAMA_HOME)\include as an include directory. To do this in Visual Studio, select your project and then select
Project Properties >
C/C++ >
General >
Additional Include Directories.
Also, link against iafcore$(APAMA_LIBRARY_VERSION).lib. To do this in Visual Studio, select your project and then select Project Properties > Linker > Input > Additional Dependencies and add:
iafcore$(APAMA_LIBRARY_VERSION).lib;apcommon$(APAMA_LIBRARY_VERSION).lib
Finally, select Project Properties > Linker > General > Additional Library Directories, and add $(APAMA_HOME)\lib.