-bool
-NetChannel::poll (unsigned int timeout)
-{
- if (!channels)
- return false ;
-
- enum { MAX_SOCKETS = 256 } ;
- Socket* reads [ MAX_SOCKETS+1 ] ;
- Socket* writes [ MAX_SOCKETS+1 ] ;
- Socket* deletes [ MAX_SOCKETS+1 ] ;
- int nreads = 0 ;
- int nwrites = 0 ;
- int ndeletes = 0 ;
- int nopen = 0 ;
- NetChannel* ch;
- for ( ch = channels; ch != NULL; ch = ch -> next_channel )
- {
- if ( ch -> should_delete )
- {
- assert(ndeletes<MAX_SOCKETS);
- deletes[ndeletes++] = ch ;
- }
- else if ( ! ch -> closed )
- {
- if (ch -> resolving_host )
- {
- ch -> handleResolve();
- continue;
- }
-
- nopen++ ;
- if (ch -> readable()) {
- assert(nreads<MAX_SOCKETS);
- reads[nreads++] = ch ;
- }
- if (ch -> writable()) {
- assert(nwrites<MAX_SOCKETS);
- writes[nwrites++] = ch ;
- }
- }
- }
- reads[nreads] = NULL ;
- writes[nwrites] = NULL ;
- deletes[ndeletes] = NULL ;
-
- int i ;
- for ( i=0; deletes[i]; i++ )
- {
- ch = (NetChannel*)deletes[i];
- delete ch ;
- }
-
- if (!nopen)
- return false ;
- if (!nreads && !nwrites)
- return true ; //hmmm- should we shutdown?
+void NetChannel::handleRead (void) {
+ SG_LOG(SG_IO, SG_WARN, "Network:" << getHandle() << ": unhandled read");
+}