diff options
Diffstat (limited to '')
-rw-r--r-- | src/connectionmanager.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 3e9f1a8..367b9d7 100644 --- a/src/connectionmanager.cpp +++ b/src/connectionmanager.cpp | |||
@@ -195,6 +195,7 @@ bool ConnectionManager::scanConnections( int nTimeout, bool bForceTimeout ) | |||
195 | lActive.erase( l ); | 195 | lActive.erase( l ); |
196 | continue; | 196 | continue; |
197 | } | 197 | } |
198 | (*i)->poll(); | ||
198 | if( (*i)->hasOutput() ) | 199 | if( (*i)->hasOutput() ) |
199 | { | 200 | { |
200 | (*i)->writeOutput(); | 201 | (*i)->writeOutput(); |
@@ -324,6 +325,23 @@ bool ConnectionManager::addConnection( int nSocket ) | |||
324 | return true; | 325 | return true; |
325 | } | 326 | } |
326 | 327 | ||
328 | void ConnectionManager::connect( | ||
329 | const char *lpAddress, | ||
330 | int nPort, | ||
331 | int nProtocolPort | ||
332 | ) | ||
333 | { | ||
334 | Connection *pCon = getInactiveConnection(); | ||
335 | pCon->open( lpAddress, nPort ); | ||
336 | int nSocket = pCon->getSocket(); | ||
337 | FD_SET( nSocket, &fdActive ); | ||
338 | |||
339 | pMonitor->onNewClientConnection( pCon, nProtocolPort ); | ||
340 | pCon->getProtocol()->onNewClientConnection(); | ||
341 | |||
342 | lActive.insert( lActive.end(), pCon ); | ||
343 | } | ||
344 | |||
327 | Connection *ConnectionManager::getInactiveConnection() | 345 | Connection *ConnectionManager::getInactiveConnection() |
328 | { | 346 | { |
329 | if( lInactive.empty() ) | 347 | if( lInactive.empty() ) |