GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> QSSP / dev > qssp / linux-gcc


Interface   Data Structures   File List   Data Fields   Globals  

QSSP_ctx.c File Reference

Implementation of the routines handling the data structures common to all statistics datagrams. More...

#include <QSSP/QSSP_ctx.h>
#include <QSSP_efsCtx.h>
#include <QSP/QFCP_cache.h>
#include <QSP/QSP_templates.h>
#include <QSD/QFC_cache.h>
#include <QSD/QFR_file.h>
#include <QSD/QFC_member.h>
#include <LSF/LSF.h>

Typedefs

typedef void *(* UnpackCtx )(QSSP_ctx *qssp, const QSSP_efsCtxBdy *bdy)
 Callback signature to unpack the statistics context.

Functions

static __inline void qssp_unpack_did (QSD_ctxDid *did, const LSE_did *src)
 Unpacks the did context.
static __inline void qssp_unpack_ctx_v0 (QSSP_ctx *ctx, const QSSP_efsCtxBdyV0 *v0)
 Unpacks version 0 of the context.
static __inline void qssp_unpack_ctx_v1 (QSSP_ctx *ctx, const QSSP_efsCtxBdyV1 *v1)
 Unpacks version 1 of the context.
static __inline void qssp_unpack_ctx_v2 (QSSP_ctx *ctx, const QSSP_efsCtxBdyV2 *v2)
 Unpacks version 2 of the context.
void QSSP_ctxConstruct (QSSP_ctx *qssp, QFCP_cache *cache)
 Construct the QSSP context.
const LSF_contribution * QSSP_ctxUpdateAtDatagram (QSSP_ctx *qssp, const LSF_contribution *ctb, unsigned int hid)
 Updates the context for the datagram's contributions.


Detailed Description

Implementation of the routines handling the data structures common to all statistics datagrams.

Author:
JJRussell - russell@slac.stanford.edu

   CVS $Id: QSSP_ctx.c,v 1.2 2011/03/29 00:14:57 russell Exp $

Typedef Documentation

typedef void(* UnpackCtx)(QSSP_ctx *qssp, const QSSP_efsCtxBdy *bdy)

Callback signature to unpack the statistics context.

Parameters:
qssp The destination context block to receive the unpacked dat
bdy The source context block


Function Documentation

void QSSP_ctxConstruct ( QSSP_ctx qssp,
QFCP_cache *  cache 
)

Construct the QSSP context.

Parameters:
qssp The QSSP context to construct
cache The (initialized) file cache

References _QSSP_ctx::cache, and _QSSP_ctx::files.

Referenced by QASC_construct(), and QSTD_construct().

const LSF_contribution * QSSP_ctxUpdateAtDatagram ( QSSP_ctx qssp,
const LSF_contribution *  ctb,
unsigned int  hid 
)

Updates the context for the datagram's contributions.

Returns:
Pointer to the next contribution
Parameters:
qssp The QSSP context handle
ctb The datagram's contributions
hid The handler identity
This routine processes the contributions that rightfully belong to the datagram. In the other datagrams, these are called the root contributions. For the QSTD datagrams, I rethought this issue and decided that while the root contribution is a good idea, I had implemented incorrectly. What QSTD does is let the update at datagram time consume those contributions it believes rightfully belong to it.
So that the user knows that these have been processed, this routine returns the next contribution after the datagram's contributions.

References _QSSP_efsCtxCtb::bdy, _QSSP_ctx::cache, _QSSP_ctxIds::cfg, _QSSP_ctxKeys::cfg, _QSSP_ctx::dgm, _QSSP_ctx::files, _QSSP_ctxIds::handler, _QSSP_efsCtxCtb::hdr, _QSSP_ctx::id, _QSSP_ctx::key, _QSSP_ctxKeys::master, qssp_unpack_ctx_v0(), qssp_unpack_ctx_v1(), qssp_unpack_ctx_v2(), and _QSSP_ctxKeys::sbs.

Referenced by QASC_updateAtDatagram(), and QSTD_updateAtDatagram().

static __inline void qssp_unpack_ctx_v0 ( QSSP_ctx ctx,
const QSSP_efsCtxBdyV0 v0 
) [static]

Unpacks version 0 of the context.

Parameters:
ctx The destination context
v0 The source context

References _QSSP_ctxKeys::cfg, _QSSP_ctxIds::cfg, _QSSP_ctx::dgm, _QSSP_efsCtxBdyV0::did, _QSSP_ctx::id, _QSSP_ctx::key, _QSSP_ctxKeys::master, qssp_unpack_did(), _QSSP_ctxKeys::sbs, and _QSSP_efsCtxBdyV0::schema_key.

Referenced by QSSP_ctxUpdateAtDatagram().

static __inline void qssp_unpack_ctx_v1 ( QSSP_ctx ctx,
const QSSP_efsCtxBdyV1 v1 
) [static]

static __inline void qssp_unpack_ctx_v2 ( QSSP_ctx ctx,
const QSSP_efsCtxBdyV2 *  v2 
) [static]

Unpacks version 2 of the context.

Parameters:
ctx The destination context
v2 The source context

References _QSSP_ctxKeys::cfg, _QSSP_ctxIds::cfg, _QSSP_ctx::dgm, _QSSP_ctx::id, _QSSP_ctx::key, _QSSP_ctxKeys::master, qssp_unpack_did(), and _QSSP_ctxKeys::sbs.

Referenced by QSSP_ctxUpdateAtDatagram().

static __inline void qssp_unpack_did ( QSD_ctxDid *  did,
const LSE_did *  src 
) [static]

Unpacks the did context.

Parameters:
did The destination did
src The source did

Referenced by qssp_unpack_ctx_v0(), qssp_unpack_ctx_v1(), and qssp_unpack_ctx_v2().


Generated on Mon Mar 28 17:16:51 2011 by  doxygen 1.5.8