Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 import sys
00008 
00009 
00010 import roslib
00011 roslib.load_manifest('rocon_hub')
00012 import rospy
00013 
00014 
00015 from . import utils
00016 from . import redis_server
00017 from . import ros_parameters
00018 from . import zeroconf
00019 
00020 
00021 
00022 
00023 
00024 
00025 def main():
00026     
00027     while not utils.check_master():
00028         rospy.logerr("Unable to communicate with master!")
00029         rospy.sleep(1.0)
00030         if rospy.is_shutdown():
00031             sys.exit(utils.red_string("Unable to communicate with master!"))
00032     rospy.init_node('hub')
00033     param = ros_parameters.load()
00034 
00035     
00036     utils.check_if_executable_available('redis-server')
00037     if param['zeroconf']:
00038         utils.check_if_executable_available('avahi-daemon')
00039 
00040     redi = redis_server.RedisServer(param)
00041     redi.start()  
00042 
00043     if param['zeroconf']:
00044         zeroconf.advertise_port_to_avahi(param['port'], param['name'])  
00045 
00046     rospy.spin()
00047     redi.shutdown()