示例#1
0
   /*
      rest agent entry point
   */
   INT32 pmdRestAgentEntryPoint( pmdEDUCB *cb, void *pData )
   {
      INT32 rc = SDB_OK ;

      SOCKET s = *(( SOCKET *) &pData ) ;

      pmdRestSession restSession( s ) ;
      restSession.attach( cb ) ;
      if ( SDB_ROLE_OM == pmdGetDBRole() )
      {
         rc = restSession.run() ;
      }
      else if ( SDB_ROLE_STANDALONE == pmdGetDBRole() 
                || SDB_ROLE_DATA == pmdGetDBRole() )
      {
         _pmdDataProcessor processor ;
         restSession.attachProcessor( &processor ) ;
         processor.attachSession( &restSession ) ;
         rc = restSession.run1() ;
         processor.detachSession() ;
         restSession.detachProcessor() ;
      }
      else if ( SDB_ROLE_COORD == pmdGetDBRole() )
      {
         _pmdCoordProcessor processor ;
         restSession.attachProcessor( &processor ) ;
         processor.attachSession( &restSession ) ;
         rc = restSession.run1() ;
         processor.detachSession() ;
         restSession.detachProcessor() ;
      }
      restSession.detach() ;

      return rc ;
   }
示例#2
0
   /*
      rest agent entry point
   */
   INT32 pmdRestAgentEntryPoint( pmdEDUCB *cb, void *pData )
   {
      INT32 rc = SDB_OK ;

      SOCKET s = *(( SOCKET *) &pData ) ;

      if ( SDB_ROLE_OM == pmdGetDBRole() )
      {
         _omRestSession omRS( s ) ;
         omRS.attach( cb ) ;

         _pmdDataProcessor processor ;
         omRS.attachProcessor( &processor ) ;
         rc = omRS.run() ;
         omRS.detachProcessor() ;

         omRS.detach() ;
      }
      else if ( SDB_ROLE_COORD == pmdGetDBRole() )
      {
         pmdRestSession restSession( s ) ;
         restSession.attach( cb ) ;

         _pmdCoordProcessor processor ;
         restSession.attachProcessor( &processor ) ;
         rc = restSession.run() ;
         restSession.detachProcessor() ;
         restSession.detach() ;
      }
      else
      {
         pmdRestSession restSession( s ) ;
         restSession.attach( cb ) ;

         _pmdDataProcessor processor ;
         restSession.attachProcessor( &processor ) ;
         rc = restSession.run() ;
         restSession.detachProcessor() ;
         restSession.detach() ;
      }
      
      pmdGetKRCB()->getMonDBCB ()->connDec();

      return rc ;
   }