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

Allow tags in UDP v0 protocol #32

Closed
pcarrier opened this issue Mar 31, 2014 · 7 comments · Fixed by #64
Closed

Allow tags in UDP v0 protocol #32

pcarrier opened this issue Mar 31, 2014 · 7 comments · Fixed by #64
Assignees
Milestone

Comments

@pcarrier
Copy link
Contributor

  • One extra field (2 bytes) in the header is for the metadata length.
  • The metadata is prepended to the payload.
  • The metadata consists of one MessagePack object (we could add more afterwards), an array of strings, called "tags".
  • Those tags get mapped to byte[][] in Message.
  • Tags from the last processed fragment win; well-behaving clients only set tags on the last fragment to avoid reducing the chunk size or increasing packet count.
@pcarrier pcarrier added this to the v4.0 milestone Mar 31, 2014
@pcarrier pcarrier added the rfc label Mar 31, 2014
@pcarrier pcarrier removed this from the v4.0 milestone Apr 1, 2014
@nelgau
Copy link

nelgau commented Apr 1, 2014

I like it. Each listener still has a default (at least via the global default) and you can optionally emit to a different topic. 👍

@pcarrier pcarrier added this to the v3.2 milestone Apr 3, 2014
@pcarrier pcarrier changed the title Allow custom topics in UDP v0 protocol Allow tags in UDP v0 protocol Apr 8, 2014
@pcarrier
Copy link
Contributor Author

pcarrier commented Apr 8, 2014

@nelgau rewrote the RFC. Care to review?

@nelgau
Copy link

nelgau commented Apr 8, 2014

Seems reasonable to me! 👍

@pcarrier pcarrier added enhancement and removed rfc labels Apr 8, 2014
@pcarrier
Copy link
Contributor Author

pcarrier commented Apr 8, 2014

Turned into an enhancement.

@pcarrier
Copy link
Contributor Author

Added bullet point, "Tags from the last processed fragment win; well-behaving clients only set tags on the last fragment to avoid reducing the chunk size or increasing packet count." as discussed with @nelgau.

@pcarrier pcarrier assigned pcarrier and unassigned nelgau Apr 10, 2014
@nelgau
Copy link

nelgau commented Apr 10, 2014

I agree with this last bullet point. A correctly-implemented producer should emit consistent headers—whether that means each fragment contains identical tags or, more likely, that only the final message has tags. In both cases, the behavior should be correct.

@pcarrier pcarrier modified the milestones: v4.0, v3.2 Apr 10, 2014
pcarrier pushed a commit that referenced this issue May 5, 2014
Went with a simpler design than originally planned.

We might could if performance ever turns out insufficient,
but my thinking here is that if a pipeline needs higher perf,
it'd be better to create a dedicated listener and avoid
using tags altogether.

Closes #32.
pcarrier pushed a commit that referenced this issue May 5, 2014
Went with a simpler design than originally planned.

We might could if performance ever turns out insufficient,
but my thinking here is that if a pipeline needs higher perf,
it'd be better to create a dedicated listener and avoid
using tags altogether.

Closes #32.
pcarrier pushed a commit that referenced this issue May 5, 2014
Went with a simpler design than originally planned.

We might could if performance ever turns out insufficient,
but my thinking here is that if a pipeline needs higher perf,
it'd be better to create a dedicated listener and avoid
using tags altogether.

Closes #32.
pcarrier pushed a commit that referenced this issue May 5, 2014
Went with a simpler design than originally planned.

We might could if performance ever turns out insufficient,
but my thinking here is that if a pipeline needs higher perf,
it'd be better to create a dedicated listener and avoid
using tags altogether.

Closes #32.
pcarrier pushed a commit that referenced this issue May 5, 2014
Went with a simpler design than originally planned.

We might could if performance ever turns out insufficient,
but my thinking here is that if a pipeline needs higher perf,
it'd be better to create a dedicated listener and avoid
using tags altogether.

Closes #32.
@pcarrier
Copy link
Contributor Author

pcarrier commented May 5, 2014

Going with \0-separated, specified UTF-8 and Collection<String> instead. I can be convinced it's a bad idea.

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

Successfully merging a pull request may close this issue.

2 participants