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

Multi-target commands are sloppy, dealt with inconsistently, and not configurable #53

Open
cooper opened this issue Jun 26, 2016 · 1 comment
Assignees
Milestone

Comments

@cooper
Copy link
Owner

cooper commented Jun 26, 2016

Problem

There is no global limit for how many targets a multi-target command can have. Each command currently implements this differently: some have no limit, some have hardcoded limits, and some do not even support more than one target when they should.

Desired behavior

The target limit needs to be universal among all multi-target commands and configurable by limit:target. It should be reflected in RPL_ISUPPORT as MAXTARGETS (Currently, this is hardcoded to one, for compatibility with the commands which do not properly support multiple targets). Excess targets should be ignored.

Implementation

I think this should be implemented in the parameter parser. As it presently exists, commands with a single channel target use the channel parameter type. We could add channels which will look up a comma-separated list of channels and push an array reference of channel objects to the parameter list. If a channel does not exist, send out ERR_NOSUCHCHANNEL and skip it. If the target limit as specified by limit:target is reached, ignore the remainder of the list. The opt flag should be manually handled to indicate that an empty arrayref is permitted.

@cooper
Copy link
Owner Author

cooper commented Jul 21, 2016

@cooper cooper added this to the v15 milestone May 21, 2017
@cooper cooper self-assigned this Oct 21, 2017
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

1 participant