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

Add a way to configure ACK_RANDOM_FACTOR for retransmission. #48

Closed
sbernard31 opened this issue Apr 19, 2023 · 3 comments
Closed

Add a way to configure ACK_RANDOM_FACTOR for retransmission. #48

sbernard31 opened this issue Apr 19, 2023 · 3 comments

Comments

@sbernard31
Copy link
Collaborator

Currently we can only set ACK_TIMEOUT and MAX_RETRANSMIT but not ACK_RANDOM_FACTOR.

This issue was triggered by : #27 (comment)

@szysas
Copy link
Collaborator

szysas commented Apr 24, 2023

There is release v6.12.0 that contains implementation for this ticket, can we close it?

@sbernard31
Copy link
Collaborator Author

I tested it and it works, but I have to admit that I didn't look into it enough when I ask for it at #27 (comment) :

Because, I was thinking that :

coapServerBuilder.retransmission(RetransmissionBackOff.ofExponential(Duration.ofMillis(200), 4, 1));

will send re-transmission each 200 ms (linear) but it is rather 200ms, then 400ms, then 800ms (exponential)...

So to be clearer :

  1. It works as it should.
  2. This is not exactly what I expected but the API is flexible enough and I will be able to find a way to get behavior I need.

So we can close this issue 🙂
Thx 🙏 and sorry for the confusion.


Some feedback/questions not really related to this :

  1. I see there is a responseTimeout which is a good idea, but I understand (not totally sure) that it is not optional ?
  2. Not the first time when I update java-coap there is API break between 2 minor version, for now this is not a problem as we are in development phase, but if we release a stable version of Leshan including java-coap dependency, that could be an issue. Did you already consider to maybe move to Semantic Versioning ?

(maybe both question deserve their own issue?)

@szysas
Copy link
Collaborator

szysas commented May 2, 2023

  1. I see there is a responseTimeout which is a good idea, but I understand (not totally sure) that it is not optional ?

There has to be some timeout, it could be big one if needed.

  1. Not the first time when I update java-coap there is API break between 2 minor version, for now this is not a problem as we are in development phase, but if we release a stable version of Leshan including java-coap dependency, that could be an issue. Did you already consider to maybe move to Semantic Versioning ?

Yes, I am aware of that. When needed, we can switch to be more strict with API changes.

(maybe both question deserve their own issue?)

Yes :)

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

No branches or pull requests

2 participants