コード例 #1
0
ファイル: catalogueCB.cpp プロジェクト: 247687009/SequoiaDB
   INT32 sdbCatalogueCB::active ()
   {
      INT32 rc = SDB_OK ;
      pmdEDUMgr *pEDUMgr = pmdGetKRCB()->getEDUMgr() ;
      EDUID eduID = PMD_INVALID_EDUID ;

      _catMainCtrl.getAttachEvent()->reset() ;
      rc = pEDUMgr->startEDU ( EDU_TYPE_CATMAINCONTROLLER,
                               (_pmdObjBase*)getMainController(),
                               &eduID ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to start cat main controller edu, "
                   "rc: %d", rc ) ;
      pEDUMgr->regSystemEDU( EDU_TYPE_CATMAINCONTROLLER, eduID ) ;
      rc = _catMainCtrl.getAttachEvent()->wait( CAT_WAIT_EDU_ATTACH_TIMEOUT ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to wait cat main contoller edu "
                   "attach, rc: %d", rc ) ;

      _catMainCtrl.getAttachEvent()->reset() ;
      rc = pEDUMgr->startEDU ( EDU_TYPE_CATCATALOGUEMANAGER,
                               (_pmdObjBase*)getCatlogueMgr(),
                               &eduID ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to start catlogue manager edu, "
                   "rc: %d", rc ) ;
      pEDUMgr->regSystemEDU( EDU_TYPE_CATCATALOGUEMANAGER, eduID ) ;
      rc = _catMainCtrl.getAttachEvent()->wait( CAT_WAIT_EDU_ATTACH_TIMEOUT ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to wait catlogue manager edu "
                   "attach, rc: %d", rc ) ;

      _catMainCtrl.getAttachEvent()->reset() ;
      rc = pEDUMgr->startEDU ( EDU_TYPE_CATNODEMANAGER,
                               (_pmdObjBase*)getCatNodeMgr(),
                               &eduID ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to start cat node manager edu, "
                   "rc: %d", rc ) ;
      pEDUMgr->regSystemEDU( EDU_TYPE_CATNODEMANAGER, eduID ) ;
      rc = _catMainCtrl.getAttachEvent()->wait( CAT_WAIT_EDU_ATTACH_TIMEOUT ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to wait cat node manager edu "
                   "attach, rc: %d", rc ) ;

      pEDUMgr->startEDU ( EDU_TYPE_CATNETWORK, (netRouteAgent*)netWork(),
                          &eduID ) ;
      pEDUMgr->regSystemEDU ( EDU_TYPE_CATNETWORK, eduID ) ;
      rc = pEDUMgr->waitUntil( EDU_TYPE_CATNETWORK, PMD_EDU_RUNNING ) ;
      PD_RC_CHECK( rc, PDERROR, "Wait CATNET active failed, rc: %d", rc ) ;

   done:
      return rc ;
   error:
      goto done ;
   }
コード例 #2
0
ファイル: coordCB.cpp プロジェクト: hanjirui/SequoiaDB
   INT32 _CoordCB::active ()
   {
      INT32 rc = SDB_OK ;
      pmdEDUMgr* pEDUMgr = pmdGetKRCB()->getEDUMgr() ;
      EDUID eduID = PMD_INVALID_EDUID ;

      pmdSetPrimary( TRUE ) ;

      rc = pEDUMgr->startEDU ( EDU_TYPE_COORDNETWORK, (void*)netWork(),
                               &eduID ) ;
      PD_RC_CHECK( rc, PDERROR, "Failed to start coord network edu, rc: %d",
                   rc ) ;
      pEDUMgr->regSystemEDU ( EDU_TYPE_COORDNETWORK, eduID ) ;
      rc = pEDUMgr->waitUntil( eduID , PMD_EDU_RUNNING ) ;
      PD_RC_CHECK( rc, PDERROR, "Wait CoordNet active failed, rc: %d", rc ) ;

   done:
      return rc ;
   error:
      goto done ;
   }