Apama  9.10.0.4.289795
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
com::softwareag::connectivity::HostSide Class Referenceabstract

An interface to the next component (plugin or host) towards the host. More...

#include <sag_connectivity_plugins.hpp>

Inheritance diagram for com::softwareag::connectivity::HostSide:
com::softwareag::connectivity::AbstractCodec com::softwareag::connectivity::RemoteHostSide com::softwareag::connectivity::AbstractSimpleCodec

Public Types

typedef std::auto_ptr< HostSideptr_t
 Pointers to HostSides should always be this ptr_t type, which is a std::auto_ptr. More...
 

Public Member Functions

virtual ~HostSide ()
 Ensure virtual destruction. More...
 
virtual void sendBatchTowardsHost (Message *start, Message *end)=0
 Process or deliver a batch of messages heading towards the host. More...
 

Detailed Description

An interface to the next component (plugin or host) towards the host.

Contains the method to send events towards the host.

Member Typedef Documentation

Pointers to HostSides should always be this ptr_t type, which is a std::auto_ptr.

Constructor & Destructor Documentation

virtual com::softwareag::connectivity::HostSide::~HostSide ( )
inlinevirtual

Ensure virtual destruction.

Member Function Documentation

virtual void com::softwareag::connectivity::HostSide::sendBatchTowardsHost ( Message start,
Message end 
)
pure virtual

Process or deliver a batch of messages heading towards the host.

Messages should be processed and passed to the next connectivity plug-in in the chain, which is typically provided by the Transport's or Codec's hostSide pointer.

The ability to handle messages in batches is provided to allow amortising the costs of delivering events. 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. If this method throws then the exception will be logged and the batch of messages dropped.

Implemented in com::softwareag::connectivity::AbstractSimpleCodec, and com::softwareag::connectivity::RemoteHostSide.


The documentation for this class was generated from the following file: