nidas
v1.2-1520
|
Interface of an output stream of samples. More...
#include <SampleOutput.h>
Public Member Functions | |
virtual | ~SampleOutput () |
virtual SampleOutput * | getOriginal () const =0 |
Get pointer to SampleOutput that was cloned. More... | |
virtual void | setName (const std::string &val)=0 |
virtual const std::string & | getName () const =0 |
virtual bool | isRaw () const =0 |
virtual void | addRequestedSampleTag (SampleTag *tag)=0 throw (nidas::util::InvalidParameterException) |
Some SampleOutputs don't send out all the Samples that they receive. More... | |
virtual std::list< const SampleTag * > | getRequestedSampleTags () const =0 |
virtual void | addSourceSampleTag (const SampleTag *tag)=0 throw (nidas::util::InvalidParameterException) |
Some SampleOutputs like to be informed of what SampleTags they will be receiving from their SampleSources before they make a connection. More... | |
virtual void | addSourceSampleTags (const std::list< const SampleTag * > &tags)=0 throw (nidas::util::InvalidParameterException) |
virtual std::list< const SampleTag * > | getSourceSampleTags () const =0 |
virtual void | requestConnection (SampleConnectionRequester *)=0 throw (nidas::util::IOException) |
Request a connection, of this SampleOutput, but don't wait for it. More... | |
virtual int | getReconnectDelaySecs () const =0 |
Derived classes implement this to indicate whether a connection should be requested again if one fails. More... | |
virtual void | setReconnectDelaySecs (int val)=0 |
virtual int | getFd () const =0 |
virtual IOChannel * | getIOChannel () const =0 |
virtual size_t | write (const void *buf, size_t len)=0 throw (nidas::util::IOException) |
Plain raw write, typically only used to write an initial header. More... | |
virtual void | close ()=0 throw (nidas::util::IOException) |
virtual void | setHeaderSource (HeaderSource *val)=0 |
virtual void | setDSMConfig (const DSMConfig *val)=0 |
virtual const DSMConfig * | getDSMConfig () const =0 |
virtual void | setLatency (float val)=0 throw (nidas::util::InvalidParameterException) |
virtual float | getLatency () const =0 |
virtual bool | receive (const Sample *s)=0 throw () |
Method called to pass a sample to this client. More... | |
virtual void | flush ()=0 throw () |
Ask that this SampleClient send out any buffered Samples that it may be holding. More... | |
virtual IOChannelRequester * | connected (IOChannel *)=0 throw () |
virtual void | fromDOMElement (const xercesc::DOMElement *)=0 throw (nidas::util::InvalidParameterException) |
Initialize myself from a xercesc::DOMElement. More... | |
virtual xercesc::DOMElement * | toDOMParent (xercesc::DOMElement *parent, bool complete) const throw (xercesc::DOMException) |
Create a DOMElement and append it to the parent. More... | |
virtual xercesc::DOMElement * | toDOMElement (xercesc::DOMElement *node, bool complete) const throw (xercesc::DOMException) |
Add my content into a DOMElement. More... | |
Static Public Member Functions | |
static const XMLCh * | getNamespaceURI () |
Protected Member Functions | |
virtual SampleOutput * | clone (IOChannel *iochannel)=0 |
Interface of an output stream of samples.
|
inlinevirtual |
|
pure virtual |
Some SampleOutputs don't send out all the Samples that they receive.
At configuration time, one can use this method to request the SampleTags that should be output from a SampleOutput. SampleOutput will own the pointer.
Implemented in nidas::core::SampleOutputBase, nidas::dynld::isff::GOESOutput, and nidas::dynld::raf::CVIOutput.
|
pure virtual |
Some SampleOutputs like to be informed of what SampleTags they will be receiving from their SampleSources before they make a connection.
Users of SampleOutputs should call this method before calling requestConnection().
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::isff::GOESOutput.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
Referenced by nidas::core::DSMEngine::connectOutputs(), nidas::dynld::SampleProcessor::connectSource(), nidas::dynld::raf::SyncRecordGenerator::connectSource(), nidas::dynld::raf::CVIProcessor::connectSource(), nidas::dynld::StatisticsProcessor::connectSource(), and nidas::core::SampleArchiver::connectSource().
|
protectedpure virtual |
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, nidas::dynld::isff::GOESOutput, nidas::dynld::psql::PSQLSampleOutput, nidas::dynld::UDPSampleOutput, and nidas::dynld::SampleOutputStream.
Referenced by nidas::core::DSMEngine::closeOutputs(), nidas::core::SampleOutputBase::connected(), nidas::dynld::raf::CVIProcessor::~CVIProcessor(), nidas::core::SampleArchiver::~SampleArchiver(), nidas::core::SampleIOProcessor::~SampleIOProcessor(), nidas::dynld::SampleProcessor::~SampleProcessor(), nidas::dynld::StatisticsProcessor::~StatisticsProcessor(), and nidas::dynld::raf::SyncRecordGenerator::~SyncRecordGenerator().
|
pure virtualinherited |
Implemented in nidas::dynld::SampleInputStream, nidas::core::SampleOutputBase, nidas::dynld::isff::GOESOutput, nidas::dynld::psql::PSQLSampleOutput, nidas::dynld::UDPSampleOutput, nidas::dynld::SampleOutputStream, nidas::dynld::XMLConfigService, and nidas::dynld::XMLConfigAllService.
Referenced by nidas::core::McSocket::connected(), nidas::core::McSocketUDP::connected(), and nidas::core::FileSet::mounted().
|
pure virtualinherited |
Ask that this SampleClient send out any buffered Samples that it may be holding.
Implemented in SampleDispatcher, DataStats, nidas::core::DSMSensor, nidas::dynld::raf::SyncRecordSource, nidas::core::NearestResamplerAtRate, nidas::core::SampleSorter, nidas::dynld::raf::SyncRecordReader, nidas::core::SampleBuffer, nidas::core::NearestResampler, nidas::dynld::StatisticsCruncher, nidas::core::SampleAverager, DumpClient, nidas::dynld::psql::PSQLSampleOutput, DumpClient, nidas::dynld::SampleOutputStream, nidas::dynld::isff::GOESOutput, nidas::core::SampleThread, nidas::dynld::UDPSampleOutput, nidas::dynld::AsciiOutput, nidas::dynld::raf::CVIOutput, nidas::dynld::raf::CVIProcessor, nidas::core::RemoteSerialConnection, and nidas::core::Resampler.
Referenced by nidas::core::DSMEngine::closeOutputs(), nidas::dynld::SampleProcessor::flush(), nidas::core::SampleArchiver::flush(), nidas::dynld::raf::CVIProcessor::flush(), nidas::dynld::StatisticsProcessor::flush(), nidas::dynld::raf::CVIProcessor::~CVIProcessor(), nidas::core::SampleArchiver::~SampleArchiver(), nidas::core::SampleIOProcessor::~SampleIOProcessor(), nidas::dynld::SampleProcessor::~SampleProcessor(), nidas::dynld::StatisticsProcessor::~StatisticsProcessor(), and nidas::dynld::raf::SyncRecordGenerator::~SyncRecordGenerator().
|
pure virtualinherited |
Initialize myself from a xercesc::DOMElement.
Implemented in nidas::core::DSMSensor, nidas::dynld::SampleInputStream, nidas::core::CalFile, nidas::core::Variable, nidas::core::ServerSocket, nidas::core::SampleTag, nidas::core::Polynomial, nidas::core::Site, nidas::core::Project, nidas::core::CharacterSensor, nidas::core::Linear, nidas::core::SampleOutputBase, nidas::core::SampleIOProcessor, nidas::core::Socket, nidas::core::DSMConfig, nidas::dynld::isff::GOESXmtr, nidas::core::DatagramSocket, nidas::core::VariableConverter, nidas::core::SerialSensor, nidas::core::McSocket, nidas::core::McSocketUDP, nidas::core::UnixIOChannel, nidas::core::FileSet, nidas::dynld::raf::DSMArincSensor, nidas::core::FsMount, nidas::dynld::isff::GOESOutput, nidas::dynld::raf::CVIProcessor, nidas::dynld::isff::CS_Krypton, nidas::core::DSMService, nidas::core::DSMServer, nidas::dynld::psql::PSQLChannel, nidas::dynld::raf::IRIGSensor, nidas::dynld::psql::PSQLSampleOutput, nidas::dynld::isff::Wind2D, nidas::dynld::UDPSampleOutput, nidas::core::MultipleUDPSockets, nidas::core::DSMCatalog, nidas::dynld::RawSampleInputStream, nidas::core::SensorCatalog, nidas::dynld::RawSampleService, nidas::core::ServiceCatalog, nidas::dynld::raf::LamsSensor, nidas::dynld::raf::Arinc_IRS, and nidas::dynld::RawSampleOutputStream.
Referenced by nidas::core::DSMService::fromDOMElement(), nidas::dynld::isff::GOESOutput::fromDOMElement(), nidas::core::DSMConfig::fromDOMElement(), nidas::core::SampleIOProcessor::fromDOMElement(), nidas::core::SampleOutputBase::fromDOMElement(), and nidas::dynld::SampleInputStream::fromDOMElement().
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::psql::PSQLSampleOutput.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
Referenced by nidas::core::DSMConfig::findSampleOutputStreamFileSets(), and nidas::core::Project::findServerSampleOutputStreamFileSets().
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::psql::PSQLSampleOutput.
Referenced by nidas::core::SampleOutputRequestThread::addConnectRequest(), nidas::core::DSMEngine::closeOutputs(), nidas::core::DSMEngine::connectOutputs(), nidas::core::SampleOutputRequestThread::run(), nidas::dynld::raf::CVIProcessor::~CVIProcessor(), nidas::core::SampleArchiver::~SampleArchiver(), nidas::core::SampleIOProcessor::~SampleIOProcessor(), nidas::dynld::SampleProcessor::~SampleProcessor(), nidas::dynld::StatisticsProcessor::~StatisticsProcessor(), and nidas::dynld::raf::SyncRecordGenerator::~SyncRecordGenerator().
|
inlinestaticinherited |
References nidas::core::DOMable::namespaceURI.
Referenced by nidas::dynld::UDPSampleOutput::getProjectDOM(), nidas::core::Dataset::toDOMElement(), nidas::core::ProjectConfig::toDOMElement(), nidas::core::Dataset::toDOMParent(), nidas::core::ProjectConfig::toDOMParent(), nidas::core::Datasets::toDOMParent(), nidas::core::ProjectConfigs::toDOMParent(), nidas::core::DSMConfig::toDOMParent(), nidas::core::Project::toDOMParent(), nidas::core::Site::toDOMParent(), nidas::core::SampleTag::toDOMParent(), nidas::core::ServerSocket::toDOMParent(), nidas::core::Variable::toDOMParent(), nidas::core::DSMSensor::toDOMParent(), nidas::core::Datasets::writeXML(), and nidas::core::ProjectConfigs::writeXML().
|
pure virtual |
Get pointer to SampleOutput that was cloned.
Will be NULL if this SampleOutput is an un-cloned original.
Implemented in nidas::core::SampleOutputBase.
Referenced by nidas::core::DSMEngine::closeOutputs(), nidas::dynld::SampleProcessor::disconnect(), nidas::dynld::raf::SyncRecordGenerator::disconnect(), nidas::dynld::raf::CVIProcessor::disconnect(), nidas::core::SampleArchiver::disconnect(), nidas::dynld::StatisticsProcessor::disconnect(), nidas::core::DSMEngine::disconnect(), nidas::dynld::raf::CVIProcessor::~CVIProcessor(), nidas::core::SampleArchiver::~SampleArchiver(), nidas::dynld::SampleProcessor::~SampleProcessor(), nidas::dynld::StatisticsProcessor::~StatisticsProcessor(), and nidas::dynld::raf::SyncRecordGenerator::~SyncRecordGenerator().
|
pure virtual |
Derived classes implement this to indicate whether a connection should be requested again if one fails.
@ return: -1 do not resubmit a connection request >=0 number of seconds to wait before submitting a request (0 means ASAP)
Implemented in nidas::core::SampleOutputBase.
Referenced by nidas::dynld::SampleProcessor::disconnect(), nidas::dynld::raf::SyncRecordGenerator::disconnect(), nidas::dynld::raf::CVIProcessor::disconnect(), nidas::core::SampleArchiver::disconnect(), nidas::dynld::StatisticsProcessor::disconnect(), nidas::core::DSMEngine::disconnect(), and nidas::core::SampleOutputRequestThread::run().
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, nidas::dynld::psql::PSQLSampleOutput, and nidas::dynld::RawSampleOutputStream.
Referenced by nidas::core::DSMEngine::closeOutputs(), and nidas::core::DSMEngine::connectOutputs().
|
pure virtualinherited |
Method called to pass a sample to this client.
This method is typically called by a SampleSource for each of its SampleClients when it has a sample ready. Returns true: success false: sample rejected. This is meant to signal a warning-type situation - like a socket not being available temporarily. True errors will be thrown as an IOException.
Implemented in SampleDispatcher, DataStats, nidas::core::DSMSensor, nidas::dynld::raf::SyncRecordSource, nidas::core::NearestResamplerAtRate, nidas::core::SampleSorter, nidas::core::SampleBuffer, nidas::dynld::raf::SyncRecordReader, TestClient, nidas::core::SampleAverager, nidas::core::NearestResampler, nidas::dynld::StatisticsCruncher, nidas::dynld::isff::GOESOutput, nidas::dynld::raf::CVIProcessor, DumpClient, DumpClient, nidas::dynld::psql::PSQLSampleOutput, nidas::core::RemoteSerialConnection, nidas::dynld::AsciiOutput, nidas::dynld::SampleOutputStream, nidas::dynld::UDPSampleOutput, and nidas::dynld::raf::CVIOutput.
|
pure virtual |
Request a connection, of this SampleOutput, but don't wait for it.
The SampleConnectionRequester will be notified via a call back to SampleConnectionRequester::connected(SampleOutput*,SampleOutput*) where the first SampleOutput points to the SampleOutput of the original request, and the second is often a new instance of a SampleOutput with a new IOChannel connection. Or the two pointers may point to the same SampleOutput.
Implemented in nidas::core::SampleOutputBase, nidas::dynld::psql::PSQLSampleOutput, nidas::dynld::raf::CVIOutput, and nidas::dynld::AsciiOutput.
Referenced by nidas::core::SampleOutputRequestThread::run(), and StatsProcess::run().
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
Referenced by nidas::core::DSMConfig::fromDOMElement().
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::SampleOutputStream.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::psql::PSQLSampleOutput.
|
pure virtual |
Implemented in nidas::core::SampleOutputBase.
|
virtualinherited |
Add my content into a DOMElement.
Reimplemented in nidas::core::DSMSensor, nidas::core::Variable, nidas::core::ServerSocket, nidas::core::SampleTag, nidas::core::Site, nidas::core::Project, and nidas::core::DSMConfig.
Referenced by nidas::core::ServerSocket::toDOMParent().
|
virtualinherited |
Create a DOMElement and append it to the parent.
Reimplemented in nidas::core::DSMSensor, nidas::core::Variable, nidas::core::ServerSocket, nidas::core::SampleTag, nidas::core::Site, nidas::core::Project, and nidas::core::DSMConfig.
|
pure virtual |
Plain raw write, typically only used to write an initial header.
Implemented in nidas::core::SampleOutputBase, and nidas::dynld::isff::GOESOutput.