org.instrumentmiddleware.cima.plugin.producer
Interface IProducer

All Superinterfaces:
IPlugin
All Known Subinterfaces:
IParcelProducer
All Known Implementing Classes:
AbstractMultiPollerParcelProducer, AbstractProducer, AbstractSinglePollerParcelProducer, OnDataSinglePollerParcelProducer, RegularIntervalMultiPollerParcelProducer, RegularIntervalSinglePollerParcelProducer

public interface IProducer
extends IPlugin

A producer is a special type of plugin that is able to create parcels without prompting from a human. Typically a producer creates parcels that contain some data which clients are interested in. Clients register their interest in this data using the subscription mechanism (see https://www.hpc.jcu.edu.au/projects/DIMSIM/wiki/CIMASession) Parcels created by a producer are typically released to the system via the #releaseParcel(Parcel) method which will eventually use the strategy to deliver the parcel. The producer has no knowledge of it's subscribers and therefore gets no notification about receipt of the parcel. The producer is intended for "producing" only, but may process subscribe, unsubscribe, startmodule, stopmodule, ping and describe parcels.

Author:
andrew

Method Summary
 java.lang.Class<?> getDeliveryStrategy()
          Gets the delivery strategy that this plugin should use
 void releaseParcel(org.instrumentmiddleware.cima.parcel.ParcelDocument.Parcel parcel)
          Release the parcel to the CIMA system for delivery.
 void setDeliveryStrategy(java.lang.Class<?> strategy)
          Sets the delivery strategy to be used by this plugin
 
Methods inherited from interface org.instrumentmiddleware.cima.plugin.IPlugin
doSubscribe, getId, getInformation, getSequenceNumber, processParcel, setStartOnLoad, start, startOnLoad, stop
 

Method Detail

setDeliveryStrategy

void setDeliveryStrategy(java.lang.Class<?> strategy)
Sets the delivery strategy to be used by this plugin

Parameters:
strategy - the strategy to use

getDeliveryStrategy

java.lang.Class<?> getDeliveryStrategy()
Gets the delivery strategy that this plugin should use

Returns:
the strategy

releaseParcel

void releaseParcel(org.instrumentmiddleware.cima.parcel.ParcelDocument.Parcel parcel)
Release the parcel to the CIMA system for delivery. Parcels released using this mechanism do not require a response other than to indicate successful delivery. Therefore the plugin releasing the parcel will have no knowledge of receipt by any recipients. TODO: provide a way for plugins to receive responses to appropriate parcels

Parameters:
parcel - the parcel to send


Copyright © 2008. All Rights Reserved.