static
  skv_status_t
  Release( skv_client_server_conn_t* aConn, 
           skv_client_ccb_t*         aCCB )
  {
    /**********************************************************************
     * Release resources
     **********************************************************************/
    // Command is completed, release resources 
    int CommandOrd = aCCB->GetCmdOrd();
    aConn->ReleaseCmdOrdinal( CommandOrd );

    aCCB->mCCBMgrIF->AddToDoneCCBQueue( aCCB );

    skv_cmd_RIU_flags_t Flags = aCCB->mCommand.mCommandBundle.mCommandRetrieve.mFlags;

    if( !( Flags & SKV_COMMAND_RIU_RETRIEVE_VALUE_FIT_IN_CTL_MSG ) )
      {
        // Release LMRs
        it_lmr_handle_t lmrHdl = aCCB->mCommand.mCommandBundle.mCommandRetrieve.mValueBufferRef.mValueLMR;

        it_status_t status = it_lmr_free( lmrHdl );

        AssertLogLine( status == IT_SUCCESS )
          << "skv_client_release_command_sm::Release():: ERROR:: it_lmr_free() failed"
          << " lmr: " << (void *) lmrHdl
          << " status: " << status
          << EndLogLine;	
      }

    return SKV_SUCCESS;
    /**********************************************************************/    
  }
 ~skv_local_kv_rdma_data_buffer_t()
 {
   if( mLMR.GetAddr() != 0 )
   {
     it_lmr_free( mLMR.GetLMRHandle() );
     mRMR.Init( (it_rmr_context_t)0, NULL, 0 );
     mLMR.InitAbs( (it_lmr_handle_t)0, NULL, 0 );
   }
   if( mDataArea != NULL )
     delete [] mDataArea;
 }
  void
  Finalize()
  {
    BegLogLine( SKV_CLIENT_CURSOR_LOG )
      << "skv_client_cursor_control_block_t::Finalize():: Entering..."
      << " mKeysDataLMRHdl: " << (void *) mKeysDataLMRHdl
      << EndLogLine;

    it_status_t status = it_lmr_free( mKeysDataLMRHdl );

    StrongAssertLogLine( status == IT_SUCCESS )
      << "skv_client_cursor_control_block_t::Finalize():: ERROR:: "
      << " status: " << status
      << EndLogLine;    

    BegLogLine( SKV_CLIENT_CURSOR_LOG )
      << "skv_client_cursor_control_block_t::Finalize():: Leaving..."
      << EndLogLine;
  }
  static
  skv_status_t
  Release( skv_client_server_conn_t* aConn, 
           skv_client_ccb_t*         aCCB )
  {
    BegLogLine( SKV_CLIENT_ACTIVE_BCAST_COMMAND_SM_LOG )
      << "skv_client_active_bcast_command_sm::Release(): Entering"
      << EndLogLine;

    /**********************************************************************
     * Release resources
     **********************************************************************/
    // Command is completed, release resources 
    int CommandOrd = aCCB->GetCmdOrd();
    aConn->ReleaseCmdOrdinal( CommandOrd );

    aCCB->mCCBMgrIF->AddToDoneCCBQueue( aCCB );

    // Release LMRs
    it_lmr_handle_t lmrHdl = aCCB->mCommand.mCommandBundle.mCommandActiveBcast.mBufferLMRHdl;

    BegLogLine( SKV_CLIENT_ACTIVE_BCAST_COMMAND_SM_LOG )
      << "skv_client_active_bcast_command_sm::Release(): About to call it_lmr_free( ): "
      << " lmr: " << (void *) lmrHdl
      << EndLogLine;

    it_status_t status = it_lmr_free( lmrHdl );

    AssertLogLine( status == IT_SUCCESS )
      << "skv_client_active_bcast_command_sm::Release(): ERROR:: it_lmr_free() failed"
      << " lmr: " << (void *) lmrHdl
      << " status: " << status
      << EndLogLine;	

    BegLogLine( SKV_CLIENT_ACTIVE_BCAST_COMMAND_SM_LOG )
      << "skv_client_active_bcast_command_sm::Release(): Leaving"
      << EndLogLine;

    return SKV_SUCCESS;
    /**********************************************************************/    
  }