European
Southern
Observatory

ESO — Reaching New Heights in Astronomy

Countries taking part in the ESO

VLT Software Documentation

trkwsTRANSFER_SER Class Reference

See man page trkwsTRANSFER_SER(4)
More...

#include <trkwsTRANSFER_SER.h>

Inheritance diagram for trkwsTRANSFER_SER:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 trkwsTRANSFER_SER (const dbSYMADDRESS dbPoint, const dbSYMADDRESS destDbPoint=NULL)
 ~trkwsTRANSFER_SER ()
ccsCOMPL_STAT DestinationDbPoint (const dbSYMADDRESS dbPoint)
ccsCOMPL_STAT SendAll (msgMESSAGE &msg)
ccsCOMPL_STAT SendAll (msgMESSAGE &originalMsg, msgMESSAGE &toBeSentMsg)
virtual ccsCOMPL_STAT Reset ()

Protected Member Functions

virtual evhCB_COMPL_STAT CompletedCB (msgMESSAGE &msg, void *udata)
virtual evhCB_COMPL_STAT ErrorCB (msgMESSAGE &msg, void *udata)
virtual evhCB_COMPL_STAT TimeoutCB (msgMESSAGE &msg, void *udata)
fndQUEUE & MessageQueue ()

Private Attributes

fndQUEUE messages

Detailed Description

See man page trkwsTRANSFER_SER(4)
Manpage of trkwsTRANSFER_SER

trkwsTRANSFER_SER

Section: Devices and Network Interfaces (4)
Updated: 2012-04-23 10:11
Index Return to man pages list
 

NAME

trkwsTRANSFER_SER - handles the 'normal transfer commands'.

 

SYNOPSIS


 #include "trkwsTRANSFER_SER.h"

 class trkwsTRANSFER_SER : public evhDB_CMD_SERIAL
 {
   public:
     trkwsTRANSFER_SER(const dbSYMADDRESS  dbPoint,
                const dbSYMADDRESS destDbPoint = NULL);
     ~trkwsTRANSFER_SER();

     ccsCOMPL_STAT DestinationDbPoint(const dbSYMADDRESS dbPoint);
     ccsCOMPL_STAT SendAll(msgMESSAGE &msg);
     ccsCOMPL_STAT SendAll(msgMESSAGE &originalMsg, msgMESSAGE &toBeSentMsg);

     virtual ccsCOMPL_STAT Reset();

   protected:

     virtual evhCB_COMPL_STAT  CompletedCB(msgMESSAGE &msg, void *udata);
     virtual evhCB_COMPL_STAT  ErrorCB(msgMESSAGE &msg, void *udata);
     virtual evhCB_COMPL_STAT  TimeoutCB(msgMESSAGE &msg, void *udata);

   private:
     fndQUEUE messages;
 };

 

PARENT CLASS


   evhDB_COMMAND_SERIAL

 

DESCRIPTION


   This class is used to handle the 'normal transfer commands' for the
 tracking. These are mainly simple data transfer commands, distributed
 from the WS to the currently tracking LCUs. The class takes care of
 sending the commands, by using an object of class mswMOD_LIST_COMMAND,
 of handling replies and errors from the LCUs, and it also sends replies
 to the originator of the original command.
   Commands are "serialized", i.e. whenever a new command has to be
 tranferred it is queued internally and sent only when the previous
 one has been completely handled.

 

PUBLIC METHODS


trkwsTRANSFER_SER(const dbSYMADDRESS  dbPoint,
                const dbSYMADDRESS destDbPoint = NULL);

  The constructor receives as parameter the symbolic address of
  online database support point for the object, i.e. the point
  where the object can find configuration and run time values.
  The second parameter (optional) is the address of the
  mswMOD_LIST_COMMAND instance to handle sending of commands.
  If the parameter is not given, it is assumed that it is asub-point
  called "cmd"

~trkwsTRANSFER_SER();

ccsCOMPL_STAT DestinationDbPoint(const dbSYMADDRESS dbPoint);

 This method is used to give the object the name of the database point
 where the list of target addresses are.


ccsCOMPL_STAT SendAll(msgMESSAGE &msg);
ccsCOMPL_STAT SendAll(msgMESSAGE &originalMsg, msgMESSAGE &toBeSentMsg);

  This is the sending method, which is using the inherited Send() method
  of its parent class.
  The parameter is a msgMESSAGE instance containing a received command
  that must be transferred to all the units described by the instance of
  mswMOD_LIST_COMMAND.
  If SendAll() is called while a command is pending, the new one is queued
  and actually sent only when the previous one is completed.
  In order to be able to send back the proper replies, the received
  msgMESSAGE structure is copied and stored internally in a queue.
  When the command is completed and the proper replies have been sent,
  the copy is deleted.
  The second version allow to send a command different from the received
  one. The received message is passed as a parameter and used to send
  the reply. The new command is passed as the second parameter
virtual ccsCOMPL_STAT Reset();
  This overloads the Reset() method of the base class in order to cleanly
  reset.

 

PROTECTED METHODS


fndQUEUE &trkwsTRANSFER_SER::MessageQueue()
  Returns the queue of waiting messages, to extract them when
  a reply is received.

virtual evhCB_COMPL_STAT  CompletedCB(msgMESSAGE &msg, void *udata);
virtual evhCB_COMPL_STAT  ErrorCB(msgMESSAGE &msg, void *udata);
virtual evhCB_COMPL_STAT  TimeoutCB(msgMESSAGE &msg, void *udata);
  These methods overload the corresponding ones of the base class
  to implement the specific behaviour.
   In particular they send the proper reply to the originator of the
  "transferred" command and delete the local copy of the originally
  received message when it is no more needed


 

PRIVATE DATA MEMBERS


fndQUEUE messages; Queue to store messages received and to be processed

 

ON LINE DATABASE


To handle an object of class trkwsTRANSFER_SER, a database point of
dbl class trkwsTRANSFER_SER is used:



 

Index

NAME
SYNOPSIS
PARENT CLASS
DESCRIPTION
PUBLIC METHODS
PROTECTED METHODS
PRIVATE DATA MEMBERS
ON LINE DATABASE

This document was created by man2html, using the manual pages.
Time: 10:11:26 GMT, April 23, 2012

Definition at line 33 of file trkwsTRANSFER_SER.h.


Constructor & Destructor Documentation

trkwsTRANSFER_SER::trkwsTRANSFER_SER ( const dbSYMADDRESS  dbPoint,
const dbSYMADDRESS  destDbPoint = NULL 
)

Definition at line 213 of file trkwsTRANSFER_SER.C.

trkwsTRANSFER_SER::~trkwsTRANSFER_SER (  ) 

Definition at line 233 of file trkwsTRANSFER_SER.C.

References messages, and TRUE.


Member Function Documentation

evhCB_COMPL_STAT trkwsTRANSFER_SER::CompletedCB ( msgMESSAGE &  msg,
void *  udata 
) [protected, virtual]
ccsCOMPL_STAT trkwsTRANSFER_SER::DestinationDbPoint ( const dbSYMADDRESS  dbPoint  ) 

Definition at line 257 of file trkwsTRANSFER_SER.C.

Referenced by trkwsCON_MAIN_TASK::Init().

evhCB_COMPL_STAT trkwsTRANSFER_SER::ErrorCB ( msgMESSAGE &  msg,
void *  udata 
) [protected, virtual]
fndQUEUE & trkwsTRANSFER_SER::MessageQueue (  )  [protected]

Definition at line 346 of file trkwsTRANSFER_SER.C.

References messages.

Referenced by CompletedCB(), trkwsNEW_PCM_SER::CompletedCB(), ErrorCB(), and TimeoutCB().

ccsCOMPL_STAT trkwsTRANSFER_SER::Reset (  )  [virtual]

Definition at line 245 of file trkwsTRANSFER_SER.C.

References messages, and TRUE.

Referenced by trkwsCON_MAIN_TASK::Init().

ccsCOMPL_STAT trkwsTRANSFER_SER::SendAll ( msgMESSAGE &  originalMsg,
msgMESSAGE &  toBeSentMsg 
)

Definition at line 308 of file trkwsTRANSFER_SER.C.

References messages, mswSEND_TRACKING, trkwsERR_SEND_COMMAND, and trkwsMOD.

ccsCOMPL_STAT trkwsTRANSFER_SER::SendAll ( msgMESSAGE &  msg  ) 
evhCB_COMPL_STAT trkwsTRANSFER_SER::TimeoutCB ( msgMESSAGE &  msg,
void *  udata 
) [protected, virtual]

Member Data Documentation

fndQUEUE trkwsTRANSFER_SER::messages [private]

Definition at line 55 of file trkwsTRANSFER_SER.h.

Referenced by MessageQueue(), Reset(), SendAll(), and ~trkwsTRANSFER_SER().


The documentation for this class was generated from the following files:
Generated on Mon Apr 23 10:12:59 2012 for INTROOT API by doxygen 1.6.3