opensaf  5.21.09
About: OpenSAF is a project focused on Service Availability (SA) that develops middleware based on open and industry standard interfaces for applications requiring uninterrupted 24x7 service.
  Fossies Dox: opensaf-5.21.09.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

imma.h File Reference
#include "imm/common/immsv.h"
#include "imma_def.h"
#include "imma_cb.h"
#include "imma_proc.h"
#include "imma_mds.h"
Include dependency graph for imma.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

unsigned int imma_shutdown (NCSMDS_SVC_ID sv_id)
 Name : imma_shutdown. More...
 
unsigned int imma_startup (NCSMDS_SVC_ID sv_id)
 Name : imma_startup. More...
 
void imma_copyAttrValue (IMMSV_EDU_ATTR_VAL *p, const SaImmValueTypeT attrValueType, const SaImmAttrValueT attrValue)
 
SaImmAttrValueT imma_copyAttrValue3 (const SaImmValueTypeT attrValueType, IMMSV_EDU_ATTR_VAL *attrValue)
 
void imma_freeAttrValue (IMMSV_EDU_ATTR_VAL *p, const SaImmValueTypeT attrValueType)
 
void imma_freeAttrValue3 (SaImmAttrValueT attrValue, const SaImmValueTypeT attrValueType)
 
void imma_freeSearchAttrs (SaImmAttrValuesT_2 **attr)
 
SaAisErrorT imma_evt_fake_evs (IMMA_CB *cb, IMMSV_EVT *i_evt, IMMSV_EVT **o_evt, SaTimeT timeout, SaImmHandleT immHandle, bool *locked, bool checkWritable)
 imma_evt_fake_evs internal function More...
 
SaAisErrorT imma_proc_check_stale (IMMA_CB *cb, SaImmHandleT immHandle, SaAisErrorT defaultEr)
 imma_proc_check_stale internal function Checks if the imma handle has turned stale, e.g. More...
 
SaTimeT imma_getSyncrTimeout ()
 

Variables

IMMA_CB imma_cb
 .............................................................................. More...
 
const char * imma_sockname
 DESCRIPTION: More...
 

Function Documentation

◆ imma_copyAttrValue()

◆ imma_copyAttrValue3()

◆ imma_evt_fake_evs()

SaAisErrorT imma_evt_fake_evs ( IMMA_CB cb,
IMMSV_EVT i_evt,
IMMSV_EVT **  o_evt,
SaTimeT  timeout,
SaImmHandleT  immHandle,
bool *  locked,
bool  checkWritable 
)

imma_evt_fake_evs internal function

NOTE: The CB must be LOCKED on entry of this function!! It will usually be unlocked on exit, as reflected in the 'locked' parameter.

Definition at line 3561 of file imma_proc.cc.

References ImmsvOmAdminOperationInvoke::adminOwnerId, immnd_evt::admOpReq, immsv_octet_string::buf, imma_cb::cb_lock, immsv_fevs::client_hdl, immnd_evt::fevsReq, imma_cb::imma_mds_hdl, imma_mds_msg_send(), imma_mds_msg_sync_send(), imma_proc_check_stale(), immHandle, immsv_evt::immnd, IMMND_EVT_A2ND_IMM_ADMOP, IMMND_EVT_A2ND_IMM_ADMOP_ASYNC, IMMND_EVT_A2ND_IMM_FEVS, IMMND_EVT_A2ND_IMM_FEVS_2, IMMND_EVT_A2ND_OBJ_SYNC_2, imma_cb::immnd_mds_dest, immsv_evt_enc(), IMMSV_EVT_TYPE_IMMND, immnd_evt::info, immsv_evt::info, ImmsvOmAdminOperationInvoke::invocation, imma_cb::is_immnd_up, immsv_fevs::isObjSync, m_IMMSV_PACK_HANDLE, m_MMGR_DATA_AT_START, m_MMGR_FREE_BUFR_LIST, m_NCS_UNLOCK, immsv_fevs::msg, ncs_enc_init_space(), NCS_LOCK_WRITE, NCSCC_RC_NO_OBJECT, NCSCC_RC_REQ_TIMOUT, NCSCC_RC_SUCCESS, NCSMDS_SVC_ID_IMMND, osafassert, rc, SA_AIS_ERR_LIBRARY, SA_AIS_ERR_NO_RESOURCES, SA_AIS_ERR_TIMEOUT, SA_AIS_ERR_TRY_AGAIN, SA_AIS_OK, immsv_fevs::sender_count, immsv_octet_string::size, ncs_ubaid::start, timeout, TRACE_1, TRACE_2, ncs_ubaid::ttl, immnd_evt::type, and immsv_evt::type.

Referenced by admin_op_invoke_async_common(), admin_op_invoke_common(), admin_op_result_common(), admin_owner_clear_common(), admin_owner_release_common(), admin_owner_set_common(), ccb_object_create_common(), ccb_object_delete_common(), ccb_object_modify_common(), imma_applyCcb(), imma_finalizeCcb(), imma_process_callback_info(), immsv_om_augment_ccb_initialize(), immsv_sync(), object_implementer_release_common(), object_implementer_set_common(), rt_object_create_common(), rt_object_delete_common(), saImmOiAugmentCcbInitialize(), saImmOiClassImplementerRelease(), saImmOiClassImplementerSet(), saImmOiImplementerClear(), saImmOmAdminOwnerFinalize(), saImmOmCcbObjectRead(), saImmOmClassCreate_2(), and saImmOmClassDelete().

◆ imma_freeAttrValue()

void imma_freeAttrValue ( IMMSV_EDU_ATTR_VAL p,
const SaImmValueTypeT  attrValueType 
)

◆ imma_freeAttrValue3()

◆ imma_freeSearchAttrs()

◆ imma_getSyncrTimeout()

SaTimeT imma_getSyncrTimeout ( )

Definition at line 606 of file imma_init.cc.

References IMMSV_WAIT_TIME, LOG_WA, and NCS_SAF_MIN_ACCEPT_TIME.

Referenced by imma_proc_syncr_timeout_update(), and initialize_common().

◆ imma_proc_check_stale()

SaAisErrorT imma_proc_check_stale ( IMMA_CB cb,
SaImmHandleT  immHandle,
SaAisErrorT  defaultEr 
)

imma_proc_check_stale internal function Checks if the imma handle has turned stale, e.g.

on timeout return from a syncronous call towards IMMND. Note the timeout could be a "normal" timeout caused say by an object-implementer not responding. In that case the input defaultErr will be returned. But if the client is stale it indicates that the IMMND crashed during the call and we return ERR_BAD_HANDLE since the handle can not be recovered. NOTE: The CB must be UNLOCKED on entry of this function!!

Definition at line 3509 of file imma_proc.cc.

References imma_cb::cb_lock, immsv_finalize_req::client_hdl, imma_cb::client_tree, immnd_evt::finReq, imma_client_node::handle, imma_client_node_get(), imma_cb::imma_mds_hdl, imma_mds_msg_send(), immHandle, immsv_evt::immnd, IMMND_EVT_A2ND_CL_TIMEOUT, imma_cb::immnd_mds_dest, IMMSV_EVT_TYPE_IMMND, immnd_evt::info, immsv_evt::info, imma_cb::is_immnd_up, m_NCS_LOCK, m_NCS_UNLOCK, NCS_LOCK_WRITE, NCSCC_RC_SUCCESS, NCSMDS_SVC_ID_IMMND, SA_AIS_ERR_BAD_HANDLE, SA_AIS_ERR_TIMEOUT, imma_client_node::stale, TRACE_3, immnd_evt::type, and immsv_evt::type.

Referenced by accessor_get_common(), imma_evt_fake_evs(), imma_newCcbId(), rt_object_update_common(), saImmOiImplementerSet(), saImmOmAdminOwnerInitialize(), saImmOmClassDescriptionGet_2(), saImmOmSearchFinalize(), search_init_common(), and search_next_common().

◆ imma_shutdown()

unsigned int imma_shutdown ( NCSMDS_SVC_ID  sv_id)

Name : imma_shutdown.

Description : This routine destroys the IMMSv agent infrastructure used to interface IMMSv service. If the registered users are > 1, it just decrements the use_count.

Arguments : - NIL -

Return Values : NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE

Notes : None

Definition at line 319 of file imma_init.cc.

References imma_agent_lock, imma_destroy(), imma_use_count, ncs_agents_shutdown(), NCSCC_RC_FAILURE, NCSCC_RC_SUCCESS, rc, TRACE, TRACE_4, TRACE_ENTER, and TRACE_LEAVE2.

Referenced by initialize_common(), saImmOiDispatch(), saImmOiFinalize(), saImmOmDispatch(), and saImmOmFinalize().

◆ imma_startup()

unsigned int imma_startup ( NCSMDS_SVC_ID  sv_id)

Name : imma_startup.

Description : This routine creates a IMMSv agent infrastructure to interface with IMMSv service. Once the infrastructure is created from then on use_count is incremented for every startup request.

Arguments : sv_id - service id, either NCSMDS_SVC_ID_IMMA_OM or NCSMDS_SVC_ID_IMMA_OI.

Return Values : NCSCC_RC_SUCCESS/NCSCC_RC_FAILURE

Notes : None

Definition at line 258 of file imma_init.cc.

References imma_agent_lock, imma_create(), imma_use_count, ncs_agents_shutdown(), ncs_agents_startup(), NCSCC_RC_FAILURE, NCSCC_RC_SUCCESS, rc, TRACE, TRACE_3, TRACE_4, TRACE_ENTER, and TRACE_LEAVE2.

Referenced by initialize_common().

Variable Documentation

◆ imma_cb

IMMA_CB imma_cb
extern

..............................................................................

..............................................................................

DESCRIPTION:

This module is the main include file for IMM Agent (IMMA).

Definition at line 45 of file imma_init.cc.

Referenced by accessor_get_common(), admin_op_invoke_async_common(), admin_op_invoke_common(), admin_op_result_common(), admin_owner_clear_common(), admin_owner_release_common(), admin_owner_set_common(), ccb_object_create_common(), ccb_object_delete_common(), ccb_object_modify_common(), imma_applyCcb(), imma_create(), imma_destroy(), imma_finalizeCcb(), imma_mds_callback(), imma_mds_msg_send(), imma_mds_msg_sync_send(), immsv_finalize_sync(), immsv_om_augment_ccb_get_result(), immsv_om_augment_ccb_initialize(), immsv_sync(), initialize_common(), object_implementer_release_common(), object_implementer_set_common(), rt_object_create_common(), rt_object_delete_common(), rt_object_update_common(), saImmOiAugmentCcbInitialize(), saImmOiCcbSetErrorString(), saImmOiClassImplementerRelease(), saImmOiClassImplementerSet(), saImmOiDispatch(), saImmOiFinalize(), saImmOiImplementerClear(), saImmOiImplementerSet(), saImmOiSelectionObjectGet(), saImmOmAccessorFinalize(), saImmOmAccessorInitialize(), saImmOmAdminOperationMemoryFree(), saImmOmAdminOwnerFinalize(), saImmOmAdminOwnerInitialize(), saImmOmCcbGetErrorStrings(), saImmOmCcbInitialize(), saImmOmCcbObjectRead(), saImmOmClassCreate_2(), saImmOmClassDelete(), saImmOmClassDescriptionGet_2(), saImmOmClassDescriptionMemoryFree_2(), saImmOmDispatch(), saImmOmFinalize(), saImmOmSearchFinalize(), saImmOmSelectionObjectGet(), search_init_common(), and search_next_common().

◆ imma_sockname

const char* imma_sockname
extern

DESCRIPTION:

This file contains routines used by IMMA library for MDS Interface.

Definition at line 33 of file imma_mds.cc.

Referenced by imma_destroy(), and imma_mds_svc_evt().