Apama
10.1.0.5
|
Wrap the next plugin in order as a TransportSide object. More...
#include <sag_connectivity_plugins.hpp>
Public Member Functions | |
virtual void | sendBatchTowardsTransport (Message *start, Message *end) |
Abstract method that must be implemented to handle delivery of a batch of messages heading towards the transport. More... | |
Public Member Functions inherited from com::softwareag::connectivity::TransportSide | |
virtual | ~TransportSide () |
Ensure virtual destruction. More... | |
Additional Inherited Members | |
Public Types inherited from com::softwareag::connectivity::TransportSide | |
typedef std::auto_ptr < TransportSide > | ptr_t |
Pointers to TransportSides should always be this ptr_t type, which is a std::auto_ptr. More... | |
Wrap the next plugin in order as a TransportSide object.
|
virtual |
Abstract method that must be implemented to handle delivery of a batch of messages heading towards the transport.
Messages should be processed and passed to the next connectivity plug-in in the chain, which is typically provided by the Codec's transportSide pointer.
The ability to handle messages in batches is provided to allow amortising the costs of delivering messages. The batch is defined as all Messages from start up to but excluding end. The callee may modify the messages, typically by moving their contents elsewhere.
Threading: Plug-ins are required to ensure that they do not call into the next plug-in in their chain from more than one thread concurrently (although it does not have to be the same thread each time). Plug-ins may therefore assume that no additional locking is required in this method to protect access to the plug-in's state. The plug-in should be as responsive as possible to the Plugin.shutdown() method, which may be called at any time on any thread, and should result in any calls into this unblocking and returning promptly. If this method throws then the exception will be logged and the batch of messages dropped.
Implements com::softwareag::connectivity::TransportSide.