本文整理汇总了C++中ConnectionPtr::acceptNB方法的典型用法代码示例。如果您正苦于以下问题:C++ ConnectionPtr::acceptNB方法的具体用法?C++ ConnectionPtr::acceptNB怎么用?C++ ConnectionPtr::acceptNB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConnectionPtr
的用法示例。
在下文中一共展示了ConnectionPtr::acceptNB方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: _cmdAddListener
bool LocalNode::_cmdAddListener( Command& command )
{
NodeAddListenerPacket* packet =
command.getModifiable< NodeAddListenerPacket >();
ConnectionDescriptionPtr description =
new ConnectionDescription( packet->connectionData );
command.getNode()->addConnectionDescription( description );
if( command.getNode() != this )
return true;
EQASSERT( packet->connection );
ConnectionPtr connection = packet->connection;
packet->connection = 0;
connection->unref( CO_REFERENCED_PARAM );
_connectionNodes[ connection ] = this;
_incoming.addConnection( connection );
if( connection->getDescription()->type >= CONNECTIONTYPE_MULTICAST )
{
MCData data;
data.connection = connection;
data.node = this;
base::ScopedMutex<> mutex( _outMulticast );
_multicasts.push_back( data );
}
connection->acceptNB();
return true;
}
示例2: _handleConnect
void LocalNode::_handleConnect()
{
ConnectionPtr connection = _incoming.getConnection();
ConnectionPtr newConn = connection->acceptSync();
connection->acceptNB();
if( !newConn )
{
EQINFO << "Received connect event, but accept() failed" << std::endl;
return;
}
_addConnection( newConn );
}
示例3: listen
bool LocalNode::listen()
{
EQVERB << "Listener data: " << serialize() << std::endl;
if( !isClosed() || !_connectSelf( ))
return false;
ConnectionDescriptions descriptions = getConnectionDescriptions();
for( ConnectionDescriptions::const_iterator i =
descriptions.begin(); i != descriptions.end(); ++i )
{
ConnectionDescriptionPtr description = *i;
ConnectionPtr connection = Connection::create( description );
if( !connection )
continue;
if( !connection->listen( ))
{
EQWARN << "Can't create listener connection: " << description
<< std::endl;
return false;
}
_connectionNodes[ connection ] = this;
_incoming.addConnection( connection );
if( description->type >= CONNECTIONTYPE_MULTICAST )
{
MCData data;
data.connection = connection;
data.node = this;
_multicasts.push_back( data );
}
connection->acceptNB();
EQVERB << "Added node " << _id << " using " << connection << std::endl;
}
_state = STATE_LISTENING;
EQVERB << base::className( this ) << " start command and receiver thread "
<< std::endl;
_receiverThread->start();
EQINFO << *this << std::endl;
return true;
}