Example #1
0
int NDInstanceBase::Open(int session_size )
{
	ND_TRACE_FUNC() ;
	size_t size = session_size ;
	if (pListen){
		Close(1) ;
	}
	//create listener
	pListen = ConstructListener() ;
	if(!pListen) {
		return -1 ;
	}

	if(-1==pListen->Create(m_config.l_cfg.listen_name,m_config.l_cfg.max_connect, size) ) {
		DestructListener() ;
		return -1 ;
	}
	OnListenerCreate() ;
	
	pListen->SetAccept(1) ;
	int ret = pListen->Open(m_config.l_cfg.port,m_config.l_cfg.thread_pool_num) ;
    if (ret != 0) {
        return  -1 ;
    }

    //set listen config 
	if (m_config.l_cfg.connected_tmout){
		nd_set_connection_timeout(pListen->GetHandle(),m_config.l_cfg.connected_tmout) ;
	}
    
    if (m_config.l_cfg.empty_close_tmout){
        pListen->SetEmptyConnTimeout(m_config.l_cfg.empty_close_tmout) ;
    }
    
    if (m_config.l_cfg.closed_unknown){
        nd_net_set_unregmsg_handler(pListen->GetHandle(),1) ;
    }
    
    if (m_config.l_cfg.cloase_unauthorize){
        nd_net_set_unauthorize_handler(pListen->GetHandle(),1) ;
    }
    
	pListen->m_inst = this ;
    
    
	OnInitilize() ;

	pListen->SetAccept(0) ;
	return ret;
}
Example #2
0
// ---------------------------------------------------------------------------
// From class MDunLocalMediaPlugin.
// Gets called when server changes a plugin's state
// ---------------------------------------------------------------------------
//
TInt CDunIrPlugin::NotifyServerStateChange( TDunPluginState aPluginState )
    {
    FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange()")));
    TInt retTemp;
    switch ( aPluginState )
        {
        case EDunStateTryListen:
            if ( PluginState() != EDunStateLoaded )
                {
                FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() (not ready) complete")));
                return KErrNotReady;
                }
            // Change to listening mode
            retTemp = ConstructListener();
            if ( retTemp != KErrNone )
                {
                FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() (ERROR) complete (%d)"), retTemp));
                return retTemp;
                }
            break;
        case EDunStateTryUninitialize:
            if ( PluginState() == EDunStateUninitialized )
                {
                FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() (not ready) complete")));
                return KErrNotReady;
                }
            // Uninitialize
            retTemp = Uninitialize();
            if ( retTemp != KErrNone )
                {
                FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() (ERROR) complete (%d)"), retTemp));
                return retTemp;
                }
            break;
        default:
            FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() (unknown state) complete")));
            return KErrNotSupported;
        }
    FTRACE(FPrint(_L("CDunIrPlugin::NotifyServerStateChange() complete")));
    return KErrNone;
    }