diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-11-02 19:33:15 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-11-02 19:33:15 +0000 |
commit | 87f93e8511b373154dc0178137d701b5d6cfb669 (patch) | |
tree | 26b1ea126b5a9bd6f1634b4a5b6d64141b221065 | |
parent | 80153a5bb5d3b41101e6bd6755b61fd0e57fadbc (diff) | |
download | libbu++-87f93e8511b373154dc0178137d701b5d6cfb669.tar.gz libbu++-87f93e8511b373154dc0178137d701b5d6cfb669.tar.bz2 libbu++-87f93e8511b373154dc0178137d701b5d6cfb669.tar.xz libbu++-87f93e8511b373154dc0178137d701b5d6cfb669.zip |
Fixed a minor bug, connections should poll properly now.
-rw-r--r-- | src/connectionmanager.cpp | 8 | ||||
-rw-r--r-- | src/connectionmanager.h | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/connectionmanager.cpp b/src/connectionmanager.cpp index 367b9d7..a927092 100644 --- a/src/connectionmanager.cpp +++ b/src/connectionmanager.cpp | |||
@@ -195,7 +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 | (*i)->getProtocol()->poll(); |
199 | if( (*i)->hasOutput() ) | 199 | if( (*i)->hasOutput() ) |
200 | { | 200 | { |
201 | (*i)->writeOutput(); | 201 | (*i)->writeOutput(); |
@@ -328,7 +328,8 @@ bool ConnectionManager::addConnection( int nSocket ) | |||
328 | void ConnectionManager::connect( | 328 | void ConnectionManager::connect( |
329 | const char *lpAddress, | 329 | const char *lpAddress, |
330 | int nPort, | 330 | int nPort, |
331 | int nProtocolPort | 331 | int nProtocolPort, |
332 | Protocol *pNewProto | ||
332 | ) | 333 | ) |
333 | { | 334 | { |
334 | Connection *pCon = getInactiveConnection(); | 335 | Connection *pCon = getInactiveConnection(); |
@@ -336,8 +337,9 @@ void ConnectionManager::connect( | |||
336 | int nSocket = pCon->getSocket(); | 337 | int nSocket = pCon->getSocket(); |
337 | FD_SET( nSocket, &fdActive ); | 338 | FD_SET( nSocket, &fdActive ); |
338 | 339 | ||
340 | pCon->setProtocol( pNewProto ); | ||
339 | pMonitor->onNewClientConnection( pCon, nProtocolPort ); | 341 | pMonitor->onNewClientConnection( pCon, nProtocolPort ); |
340 | pCon->getProtocol()->onNewClientConnection(); | 342 | //pCon->getProtocol()->onNewClientConnection(); |
341 | 343 | ||
342 | lActive.insert( lActive.end(), pCon ); | 344 | lActive.insert( lActive.end(), pCon ); |
343 | } | 345 | } |
diff --git a/src/connectionmanager.h b/src/connectionmanager.h index 23d059a..e80119b 100644 --- a/src/connectionmanager.h +++ b/src/connectionmanager.h | |||
@@ -93,7 +93,7 @@ public: | |||
93 | */ | 93 | */ |
94 | void setConnectionMonitor( ConnectionMonitor *pNewMonitor ); | 94 | void setConnectionMonitor( ConnectionMonitor *pNewMonitor ); |
95 | 95 | ||
96 | void connect( const char *lpAddress, int nPort, int nProtocolPort ); | 96 | void connect( const char *lpAddress, int nPort, int nProtocolPort, Protocol *pNewProto ); |
97 | 97 | ||
98 | private: | 98 | private: |
99 | /** | 99 | /** |