From: Digital X. <dig...@us...> - 2007-04-04 01:18:43
|
Update of /cvsroot/openrpg/openrpg1/orpg/networking In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10436/orpg/networking Modified Files: meta_server_lib.py mplay_server.py Log Message: Added some check to the Meta registration Index: mplay_server.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/mplay_server.py,v retrieving revision 1.143 retrieving revision 1.144 diff -C2 -d -r1.143 -r1.144 *** mplay_server.py 3 Apr 2007 00:14:35 -0000 1.143 --- mplay_server.py 4 Apr 2007 01:18:42 -0000 1.144 *************** *** 747,753 **** # request only Meta servers compatible with version 2 metalist = getMetaServers(versions=["2"]) ! if self.show_meta_messages != 0: self.log_msg("Found these valid metas:") ! for meta in metalist: ! if self.show_meta_messages != 0: self.log_msg("Meta:" + meta) # Go through the list and see if there is already a running register --- 747,754 ---- # request only Meta servers compatible with version 2 metalist = getMetaServers(versions=["2"]) ! if self.show_meta_messages != 0: ! self.log_msg("Found these valid metas:") ! for meta in metalist: ! self.log_msg("Meta:" + meta) # Go through the list and see if there is already a running register *************** *** 772,776 **** for meta in metalist: if self.metas.has_key(meta) and self.metas[meta] and self.metas[meta].isAlive(): ! self.metas[meta].register(name=name,realHostName=self.server_address,num_users=num_players) else: self.metas[meta] = registerThread(name=name, realHostName=self.server_address, num_users=num_players, MetaPath=meta, port=self.server_port,register_callback=self.register_callback) --- 773,777 ---- for meta in metalist: if self.metas.has_key(meta) and self.metas[meta] and self.metas[meta].isAlive(): ! self.metas[meta].register(name=name, realHostName=self.server_address, num_users=num_players) else: self.metas[meta] = registerThread(name=name, realHostName=self.server_address, num_users=num_players, MetaPath=meta, port=self.server_port,register_callback=self.register_callback) Index: meta_server_lib.py =================================================================== RCS file: /cvsroot/openrpg/openrpg1/orpg/networking/meta_server_lib.py,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** meta_server_lib.py 4 Nov 2006 21:24:22 -0000 1.39 --- meta_server_lib.py 4 Apr 2007 01:18:42 -0000 1.40 *************** *** 518,527 **** # re-registers this server and sleeps Interval # minutes until the thread is ordered to die in place - while(not self.TestDeleteStatus()): # Loop while until told to die - - # Otherwise, call thread safe register(). self.register(self.name, self.realHostName, self.num_users) # register() will end up setting the state variables --- 518,525 ---- # re-registers this server and sleeps Interval # minutes until the thread is ordered to die in place while(not self.TestDeleteStatus()): # Loop while until told to die # Otherwise, call thread safe register(). self.register(self.name, self.realHostName, self.num_users) + if META_DEBUG: print "Sent Registration Data" # register() will end up setting the state variables *************** *** 534,542 **** self.interval -= 1 # wake up with 30 seconds left to re-register else: ! self.interval = .1 # Otherwise, we probably experienced some kind # of error from the Meta in register(). Sleep # for 6 seconds and start from scratch. - finally: # no matter what, release the lock self.rlock.release() --- 532,539 ---- self.interval -= 1 # wake up with 30 seconds left to re-register else: ! self.interval = .5 # Otherwise, we probably experienced some kind # of error from the Meta in register(). Sleep # for 6 seconds and start from scratch. finally: # no matter what, release the lock self.rlock.release() *************** *** 565,570 **** # the code in Entry() to exit() when the thread wakes up and # checks TestDeleteStatus(). - - # lock the critical section. The unlock will # automatically occur at the end of the function in the finally clause --- 562,565 ---- *************** *** 583,590 **** try: ! ! xml_dom = get_server_dom( data=data,path=self.path ) # this POSTS the request and returns the result if xml_dom.hasAttribute("errmsg"): ! if META_DEBUG: print "Error message returned from Meta: " + xml_dom.getAttribute("errmsg") except: --- 578,584 ---- try: ! xml_dom = get_server_dom(data=data, path=self.path) # this POSTS the request and returns the result if xml_dom.hasAttribute("errmsg"): ! print "Error durring unregistration: " + xml_dom.getAttribute("errmsg") except: *************** *** 610,614 **** self.rlock.release() ! def register(self,name = None, realHostName=None, num_users = None): # Designed to handle the registration, both new and # repeated. --- 604,608 ---- self.rlock.release() ! def register(self, name=None, realHostName=None, num_users=None): # Designed to handle the registration, both new and # repeated. *************** *** 644,648 **** else: ! # print "Letting meta server decide the hostname to list..." data = urllib.urlencode( {"server_data[id]":self.id, "server_data[cookie]":self.cookie, --- 638,642 ---- else: ! if META_DEBUG: print "Letting meta server decide the hostname to list..." data = urllib.urlencode( {"server_data[id]":self.id, "server_data[cookie]":self.cookie, *************** *** 654,664 **** try: ! xml_dom = get_server_dom( data=data,path=self.path ) # this POSTS the request and returns the result except: if META_DEBUG: print "Problem talking to server. Setting interval for retry ..." self.interval = 0 - if self.register_callback: # if a callback is registered, call it - self.register_callback(None, self.path) # If we are in the registerThread thread, then setting interval to 0 # will end up causing a retry in about 6 seconds (see self.run()) --- 648,658 ---- try: ! xml_dom = get_server_dom(data=data,path=self.path) # this POSTS the request and returns the result except: if META_DEBUG: print "Problem talking to server. Setting interval for retry ..." + if META_DEBUG: print data + if META_DEBUG: print self.interval = 0 # If we are in the registerThread thread, then setting interval to 0 # will end up causing a retry in about 6 seconds (see self.run()) *************** *** 677,688 **** # If there is a DOM returned .... if xml_dom: - - if self.register_callback: # if a callback is registered, call it - self.register_callback(xml_dom, self.path) - - # If there's an error, echo it to the console if xml_dom.hasAttribute("errmsg"): ! print "Error message returned from Meta: " + xml_dom.getAttribute("errmsg") # No special handling is required. If the registration worked, id, cookie, and interval --- 671,679 ---- # If there is a DOM returned .... if xml_dom: # If there's an error, echo it to the console if xml_dom.hasAttribute("errmsg"): ! print "Error durring registration: " + xml_dom.getAttribute("errmsg") ! if META_DEBUG: print data ! if META_DEBUG: print # No special handling is required. If the registration worked, id, cookie, and interval |