GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LCS / V1-4-1

Constituent: lcs     Tag: sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

LTX_sync.c File Reference

Query/reply synchronization. More...

#include <string.h>
#include "PBS/FFS.ih"
#include "PBS/FORK.h"
#include "PBS/WUT.h"
#include "MSG/MSG_pubdefs.h"
#include "ITC/ITC_pubdefs.h"
#include "LCS/LCS_msgs.h"
#include "LCS_prvdefs.h"

Include dependency graph for LTX_sync.c:


Functions

static WUT_cb_status expireTimer (void *prm, WUT_tmr *wut)
 Timer callback routine to queue a message back to a fork.
static FORK_cb_status forkTimer (FORK_cb_prm *prm, FORK_msg_hdr *msg)
 Enter state wait for allocation reply.
void LTX_cancelTimer (LTX_Engine *txe)
 Cancel a synchronization timeout.
FORK_cb_status LTX_reset (LTX_Engine *txe, unsigned int status)
 Make the engine ready for new business.
FORK_cb_status LTX_sendSync (LTX_Engine *txe)
 Last packet synchronization.
void LTX_startTimer (LTX_Engine *txe, unsigned int key, unsigned int mto)
 Start synchronization timeout.
unsigned int LTX_sync (LTX_Engine *txe, ITC_NodeID nid, unsigned int key, unsigned int dat)
 LTX service response synchronization.

Detailed Description

Query/reply synchronization.

CVS $Id: LTX_sync.c,v 1.3 2005/09/08 03:54:14 apw Exp $
Author:
A.P.Waite

Function Documentation

static WUT_cb_status expireTimer void *  prm,
WUT_tmr *  wut
[static]
 

Timer callback routine to queue a message back to a fork.

Parameters:
prm (in) User context parameter (an engine handle)
wut (in) Timer handle
expireTimer() is the routine called at interrupt level by the timeout timer. It simply places a prepared message on the service's meta-lo queue for processing by the allocExpire() routine.

static FORK_cb_status forkTimer FORK_cb_prm *  prm,
FORK_msg_hdr *  msg
[static]
 

Enter state wait for allocation reply.

Parameters:
prm (in) User context parameter (unused)
msg (in) Fork message
Return values:
FORK_C_CONTINUE Always
forkTimer() is the task level fork service routine that processes a timeout message. If this routine can establish that there's a live transaction to cancel, it will do so. Otherwise, it does nothing (and that last statement is the culmination of a long and tortuous logic maze).

void LTX_cancelTimer LTX_Engine txe  ) 
 

Cancel a synchronization timeout.

Parameters:
txe (in) Transmit engine

FORK_cb_status LTX_reset LTX_Engine txe,
unsigned int  status
 

Make the engine ready for new business.

Parameters:
txe (in) Transmit engine
status (in) Completion status for current transaction.
Return values:
FORK_C_CONTINUE Continue fork
~FORK_C_CONTINUE Shut down fork

FORK_cb_status LTX_sendSync LTX_Engine txe  ) 
 

Last packet synchronization.

Parameters:
txe (in) Transmit engine handle
Return values:
FORK_C_CONTINUE Continue fork
~FORK_C_CONTINUE Shut down fork
LTX_sendSync() synchronizes a reply to the last packet of a message.

void LTX_startTimer LTX_Engine txe,
unsigned int  key,
unsigned int  mto
 

Start synchronization timeout.

Parameters:
txe (in) Transmit engine
key (in) Transaction matching key
mto (in) Message timeout period (usec)

unsigned int LTX_sync LTX_Engine txe,
ITC_NodeID  nid,
unsigned int  key,
unsigned int  dat
 

LTX service response synchronization.

Parameters:
txe (in) Transmit engine
nid (in) ITC node id to accumulate into synchronization
key (in) Transaction matching key (integrity check)
dat (in) Protocol specific, but usually return code from response
Return values:
0 Current transaction not synchronized
1 Current transaction synchronized


Generated on Thu Apr 27 21:29:06 2006 by  doxygen 1.4.4