Public Member Functions | |
def | __init__ |
def | advertise |
Posting Information to the Hub. | |
def | connect |
Hub Connections. | |
def | get_remote_connection_state |
def | get_remote_gateway_firewall_flag |
def | list_remote_gateway_names |
def | matches_remote_gateway_name |
def | post_flip_details |
def | post_pull_details |
def | register_gateway |
def | remote_gateway_info |
Hub Data Retrieval. | |
def | remove_flip_details |
def | remove_pull_details |
def | send_flip_request |
Gateway-Gateway Communications. | |
def | send_unflip_request |
def | unadvertise |
def | unregister_gateway |
Public Attributes | |
name | |
remote_gateway_listener_thread | |
uri | |
Static Public Attributes | |
callback = None | |
pool = None | |
pubsub = None | |
server = None | |
Private Member Functions | |
def | _send_unflip_request |
Private Attributes | |
_firewall | |
_gateway_name | |
_redis_channels | |
_redis_keys | |
_redis_pubsub_server | |
_remote_gateway_request_callbacks | |
_unique_gateway_name |
Definition at line 137 of file hub_api.py.
def rocon_gateway.hub_api.Hub.__init__ | ( | self, | |
remote_gateway_request_callbacks, | |||
gateway_name, | |||
firewall | |||
) |
@param remote_gateway_request_callbacks : to handle redis responses @type list of function pointers (back to GatewaySync class @param gateway_name : recommended name for this gateway @type string @param firewall : whether this gateway blocks flips or not (we publish this info) @type Bool
Definition at line 144 of file hub_api.py.
def rocon_gateway.hub_api.Hub._send_unflip_request | ( | self, | |
gateway, | |||
rule | |||
) | [private] |
Definition at line 524 of file hub_api.py.
def rocon_gateway.hub_api.Hub.advertise | ( | self, | |
connection | |||
) |
Posting Information to the Hub.
Places a topic, service or action on the public interface. On the redis server, this representation will always be: - topic : a triple { name, type, xmlrpc node uri } - service : a triple { name, rosrpc uri, xmlrpc node uri } - action : ??? @param connection: representation of a connection (topic, service, action) @type connection: str @raise .exceptions.ConnectionTypeError: if connection arg is invalid.
Definition at line 352 of file hub_api.py.
def rocon_gateway.hub_api.Hub.connect | ( | self, | |
ip, | |||
portarg | |||
) |
Hub Connections.
Definition at line 173 of file hub_api.py.
def rocon_gateway.hub_api.Hub.get_remote_connection_state | ( | self, | |
gateway | |||
) |
Equivalent to getConnectionState, but generates it from the public interface of a foreign gateway
Definition at line 316 of file hub_api.py.
def rocon_gateway.hub_api.Hub.get_remote_gateway_firewall_flag | ( | self, | |
gateway | |||
) |
Returns the value of the remote gateway's firewall (flip) flag. @param gateway : gateway string id @param string @return state of the flag @rtype Bool @raise UnavailableGatewayError when specified gateway is not on the hub
Definition at line 329 of file hub_api.py.
Return a list of the gateways (name list, not redis keys). e.g. ['gateway32','pirate33']
Definition at line 284 of file hub_api.py.
def rocon_gateway.hub_api.Hub.matches_remote_gateway_name | ( | self, | |
gateway | |||
) |
Use this when gateway can be a regular expression and we need to check it off against list_remote_gateway_names()
Definition at line 303 of file hub_api.py.
def rocon_gateway.hub_api.Hub.post_flip_details | ( | self, | |
gateway, | |||
name, | |||
type, | |||
node | |||
) |
Post flip details to the redis server. This has no actual functionality, it is just useful for debugging with the remote_gateway_info service. @param gateway : the target of the flip @type string @param name : the name of the connection @type string @param type : the type of the connection (one of ConnectionType.xxx @type string @param node : the node name it was pulled from @type string
Definition at line 381 of file hub_api.py.
def rocon_gateway.hub_api.Hub.post_pull_details | ( | self, | |
gateway, | |||
name, | |||
type, | |||
node | |||
) |
Post pull details to the hub. This has no actual functionality, it is just useful for debugging with the remote_gateway_info service. @param gateway : the gateway it is pulling from @type string @param name : the name of the connection @type string @param type : the type of the connection (one of ConnectionType.xxx @type string @param node : the node name it was pulled from @type string
Definition at line 417 of file hub_api.py.
def rocon_gateway.hub_api.Hub.register_gateway | ( | self, | |
ip | |||
) |
Register a gateway with the hub. Note that you must have already connected before calling this function. On registration, the hub will provide a unique identifier number which will be appended to the suggested name of this gateway to ensure a unique id string and key for this gateway. @return: success or failure of the operation @rtype: bool @todo - maybe merge with 'connect', or at the least check if it is actually connected here first.
Definition at line 184 of file hub_api.py.
def rocon_gateway.hub_api.Hub.remote_gateway_info | ( | self, | |
gateway | |||
) |
Hub Data Retrieval.
Return remote gateway information for the specified gateway string id. @param gateways : gateway id string to search for @type string @return remote gateway information @rtype gateway_msgs.msg.RemotGateway or None
Definition at line 247 of file hub_api.py.
def rocon_gateway.hub_api.Hub.remove_flip_details | ( | self, | |
gateway, | |||
name, | |||
type, | |||
node | |||
) |
Post flip details to the redis server. This has no actual functionality, it is just useful for debugging with the remote_gateway_info service. @param gateway : the target of the flip @type string @param name : the name of the connection @type string @param type : the type of the connection (one of ConnectionType.xxx @type string @param node : the node name it was pulled from @type string
Definition at line 399 of file hub_api.py.
def rocon_gateway.hub_api.Hub.remove_pull_details | ( | self, | |
gateway, | |||
name, | |||
type, | |||
node | |||
) |
Post pull details to the hub. This has no actual functionality, it is just useful for debugging with the remote_gateway_info service. @param gateway : the gateway it was pulling from @type string @param name : the name of the connection @type string @param type : the type of the connection (one of ConnectionType.xxx @type string @param node : the node name it was pulled from @type string
Definition at line 435 of file hub_api.py.
def rocon_gateway.hub_api.Hub.send_flip_request | ( | self, | |
gateway, | |||
connection | |||
) |
Gateway-Gateway Communications.
Sends a message to the remote gateway via redis pubsub channel. This is called from the watcher thread, when a flip rule gets activated. - redis channel name: rocon:<remote_gateway_name> - data : list of [ command, gateway, rule type, type, xmlrpc_uri ] - [0] - command : in this case 'flip' - [1] - gateway : the name of this gateway, i.e. the flipper - [2] - name : local name - [3] - node : local node name - [4] - connection_type : one of ConnectionType.PUBLISHER etc - [5] - type_info : a ros format type (e.g. std_msgs/String or service api) - [6] - xmlrpc_uri : the xmlrpc node uri @param command : string command name - either 'flip' or 'unflip' @type str @param flip_rule : the flip to send @type gateway_msgs.msg.RemoteRule @param type_info : topic type (e.g. std_msgs/String) @param str @param xmlrpc_uri : the node uri @param str
Definition at line 457 of file hub_api.py.
def rocon_gateway.hub_api.Hub.send_unflip_request | ( | self, | |
gateway, | |||
rule | |||
) |
Definition at line 492 of file hub_api.py.
def rocon_gateway.hub_api.Hub.unadvertise | ( | self, | |
connection | |||
) |
Removes a topic, service or action from the public interface. @param connection: representation of a connection (topic, service, action) @type connection: str @raise .exceptions.ConnectionTypeError: if connectionarg is invalid.
Definition at line 369 of file hub_api.py.
def rocon_gateway.hub_api.Hub.unregister_gateway | ( | self | ) |
Remove all gateway info from the hub. @return: success or failure of the operation @rtype: bool
Definition at line 219 of file hub_api.py.
rocon_gateway::hub_api.Hub::_firewall [private] |
Definition at line 153 of file hub_api.py.
Definition at line 153 of file hub_api.py.
Definition at line 153 of file hub_api.py.
rocon_gateway::hub_api.Hub::_redis_keys [private] |
Definition at line 153 of file hub_api.py.
Definition at line 153 of file hub_api.py.
Definition at line 153 of file hub_api.py.
Definition at line 153 of file hub_api.py.
rocon_gateway::hub_api.Hub::callback = None [static] |
Definition at line 142 of file hub_api.py.
Definition at line 153 of file hub_api.py.
rocon_gateway::hub_api.Hub::pool = None [static] |
Definition at line 139 of file hub_api.py.
rocon_gateway::hub_api.Hub::pubsub = None [static] |
Definition at line 141 of file hub_api.py.
Definition at line 197 of file hub_api.py.
rocon_gateway::hub_api.Hub::server = None [static] |
Definition at line 140 of file hub_api.py.
Definition at line 153 of file hub_api.py.