Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 11, 2010, 9:07:55 PM (13 years ago)
Author:
smerkli
Message:

started implementing server pings, but need a change to masterservercomm soon.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation/src/libraries/network/MasterServerComm.cc

    r7745 r7756  
    3838  }
    3939
    40 
    4140  int MasterServerComm::initialize()
    4241  {
     
    5251    /* install atexit handler for enet */
    5352    atexit( enet_deinitialize );
    54 
    5553
    5654    /* initiate the client */
     
    8785    if (this->peer == NULL )
    8886    { COUT(2) << "ERROR: No available peers for initiating an ENet connection.\n";
    89     return -1;
     87      return -1;
    9088    }
    9189
     
    102100    }
    103101
    104     return 0;
    105   }
    106 
    107   int MasterServerComm::pollForReply( int (*callback)( char*, ENetEvent* ) )
     102    /* all fine */
     103    return 0;
     104  }
     105
     106  /* NOTE this is to be reimplemented soon to return
     107   * a structure containing
     108   * - addrconv
     109   * - the event
     110   * so we can also make callbacks from objects
     111   */
     112  int MasterServerComm::pollForReply( int (*callback)( char*, ENetEvent* ),
     113    int delayms )
    108114  {
    109115    /* see whether anything happened */
     
    117123    /* enet_host_service returns 0 if no event occured */
    118124    /* just newly set below test to >0 from >= 0, to be tested */
    119     if( enet_host_service( this->client, this->event, 1000 ) > 0 )
     125    if( enet_host_service( this->client, this->event, delayms ) > 0 )
    120126    {
    121127      /* check what type of event it is and react accordingly */
     
    140146
    141147          /* DEBUG */
    142           COUT(3) << "A packet of length " << this->event->packet->dataLength
     148          COUT(3) << "MasterServer Debug: A packet of length "
     149            << this->event->packet->dataLength
    143150            << " containing " << this->event->packet->data
    144151            << " was received from " << addrconv
    145152            << " on channel " << this->event->channelID;
    146           //printf( "A packet of length %u containing %s was "
    147             //"received from %s on channel %u.\n",
    148             //this->event->packet->dataLength,
    149             //this->event->packet->data,
    150             //addrconv,
    151             //this->event->channelID );
    152153          /* END DEBUG */
    153154
     
    156157            retval = (*callback)( addrconv, (this->event) );
    157158
     159          /* clean up */
    158160          enet_packet_destroy( event->packet );
    159           if( addrconv ) free( addrconv );
     161          if( addrconv )
     162            free( addrconv );
     163
    160164          break;
    161165        default: break;
     
    211215
    212216}
    213 
    214 
    215 /* DON'T DELETE THIS I MIGHT NEED IT AGAIN -smerkli */
    216 /* not needed anymore, only here for testing purposes */
    217 /*
    218 //[> sample callback to output debugging info. <]
    219 //int callb( char *addr, ENetEvent *ev )
    220 //{
    221   //printf( "A packet of length %u containing %s was "
    222       //"received from %s on channel %u.\n",
    223       //ev->packet->dataLength,
    224       //ev->packet->data,
    225       //addr,
    226       //ev->channelID );
    227   //return 0;
    228 //}
    229 
    230 //[> small testing implementation <]
    231 //int
    232 //main( int argc, char *argv[] )
    233 //{
    234   //[> setup object and connect <]
    235   //MasterServerComm msc = MasterServerComm();
    236   //if( msc.connect( argv[1], 1234 ) )
    237     //exit(EXIT_FAILURE);
    238  
    239   //[> send some data and poll for replies <]
    240   //char *theinput = (char *)calloc( 100,1 );
    241   //while( true )
    242   //{
    243     //fgets( theinput, 90, stdin );
    244     //if( !strncmp( theinput, "quit", 4 ) )
    245       //break;
    246 
    247     //msc.sendRequest( theinput );
    248     //msc.pollForReply( &callb );
    249   //}
    250 
    251 //}
    252 */
Note: See TracChangeset for help on using the changeset viewer.