Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flipping Implementation #62

Closed
stonier opened this issue Oct 4, 2012 · 9 comments
Closed

Flipping Implementation #62

stonier opened this issue Oct 4, 2012 · 9 comments

Comments

@stonier
Copy link
Member

stonier commented Oct 4, 2012

Start working on a flipping implementation as outlined in the review.

Most important points that need addressing:

  • /flip, /flip_pattern, /flip_all services
  • Remapping
  • Drop triples from the user perspective, names/names+node names instead.
  • Regex handling
  • Practical watchlist/blacklist handling
@ghost ghost assigned stonier Oct 4, 2012
@stonier
Copy link
Member Author

stonier commented Oct 8, 2012

Remapping

After commit 8edf98f, everythign gets setup up, but remapping is a problem, /chatter -> /gateway##/chatter sets up the node and all, but a rostopic echo doesn't pick up anything.

If we change master_api.py:184:

  node_master.registerPublisher(registration.local_name,registration.type_info,registration.xmlrpc_uri)

to

  node_master.registerPublisher(registration.remote_name,registration.type_info,registration.xmlrpc_uri)

everything works.

@stonier
Copy link
Member Author

stonier commented Oct 8, 2012

Node uri's are just that, node uri's. Any connection between pubs and subs from one process to another shunts along the same pair of node uri's, i.e. one socket for all pubsub communications between two processes. Which means, any messaging shunting down the socket needs the topic name as an identifier to uniquely distinguish it from other topic messages going down the same socket.

Damn disappointing!

@stonier
Copy link
Member Author

stonier commented Oct 8, 2012

I feel like a naive noob now as well....

Still, it's not a showstopper. Can control the remaps from the application manager side and make sure we specify the remaps before we launch, rather than when sending the flips.

@stonier
Copy link
Member Author

stonier commented Oct 8, 2012

Actually, should we insert relays if the user specifically asks for a remapping?

@piyushk
Copy link
Collaborator

piyushk commented Oct 8, 2012

This was unfortunate.

This seems like a plausible option. There are a few questions to ask here

  1. Is there a benefit in getting the gateway to automatically instantiate
    the relay given the mapping vs the user being directly responsible for
    launching the relay and passing information appropriately to the gateway.
    The only benefit I see is a static remapping selected by the user(i.e.
    /robot1/) vs dynamic remapping by the gateway (i.e. /gatewayXX/(
  2. If there are colliding names, a pull request won't be able to do the
    relay at its end. Should the advertise call do the remapping?

On Mon, Oct 8, 2012 at 8:53 AM, Daniel Stonier notifications@github.comwrote:

Actually, should we insert relays if the user specifically asks for a
remapping?


Reply to this email directly or view it on GitHubhttps://github.com//issues/62#issuecomment-9226324.

@stonier
Copy link
Member Author

stonier commented Oct 8, 2012

Though it would have been convenient to do dynamic remappings across multimaster, to be honest, I don't want relays getting thrown in. If we can workaround it by getting app manager to remap when launching an app (and its environment), then we don't have a use case for it right now. The only benefit would be for people not using an app manager like infrastructure on top.

And for those people, we can probably more easily write a convenient script which can set up a relay and call the gateway on the relay in one shot (much easier than putting that all in the gateway). Call it 'remapped_flip' or some such.

Do you have a use case?

@stonier
Copy link
Member Author

stonier commented Oct 9, 2012

5638745 bigfixes the watcher on a flip's source connection.

@stonier
Copy link
Member Author

stonier commented Oct 14, 2012

Needs to unflip the buggers when the gateway closes.

@stonier
Copy link
Member Author

stonier commented Oct 16, 2012

One jobs left that I can think of:

  • Deactivate flips if a remote gateway disappears

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants