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

Best way to test queue mode with Leshan server and leshan client demo 2.0 ? #1597

Closed
EmbGangsta opened this issue Mar 26, 2024 · 6 comments
Closed
Labels
question Any question about leshan

Comments

@EmbGangsta
Copy link

Question

Hi,

I am evaluating the LwM2M protocol and I am testing the case the client is no longer sending updates during long time and then when back to life on internet and sending an update to server I would like to see the server able to send queued request(s).
I rebuilt the leshan demo client from build under Linux in 2.00 version from commid id afeb712

I can see that in /3/0 device resource the binding mode is U and not UQ. If I put UQ the server tells me that this binding is not supported...
I am testing with the online leshan server at https://leshan.eclipseprojects.io/

I need to make sure this feature works fine because I would like to use LwM2M on some beacons that are travelling at different places, hence they are not always under cellular coverage and sometimes unable to register for a long time.

Please advice

@EmbGangsta EmbGangsta added the question Any question about leshan label Mar 26, 2024
@Ozame
Copy link

Ozame commented Apr 2, 2024

AFAIK, the queue mode is not yet supported on Leshan client side (see wiki).

Also, on Lwm2m 1.1 specification, the queue mode is indicated as part of the registration parameters (see spec). It was separated from the transport bindings, where it was in 1.0. Note that while this may be communicated to the server, in practice setting the queue mode here does not change the client's behavior.

My understanding is that the client support for queue mode is on the roadmap, but currently you will have to implement it yourself. I have been able to do this by utilizing the Client's start and stop methods with timers, but it has not been without its issues (#1574 )

@sbernard31
Copy link
Contributor

@Ozame thx for your answer.

Some more answer here : #1598 (comment)

I'm not sure we need this issue and #1598

Maybe we can close one and continue discussion on the other ?

@EmbGangsta
Copy link
Author

Thanks for your reply.
Indeed the queue mechanism shall be handled by server when client is sending a registration update after a long sleep period, the server shall be able to send the queued requests to the client...
On server side, is there a spec maximum of requests that can be stored until the clients refreshes registration ?

@sbernard31
Copy link
Contributor

sbernard31 commented Apr 2, 2024

Indeed the queue mechanism shall be handled by server when client is sending a registration update after a long sleep period, the server shall be able to send the queued requests to the client...

At as said at #1598 (comment), there is no queue mechanism, it's just a bad naming in specification.

On server side, is there a spec maximum of requests that can be stored until the clients refreshes registration ?

AFAIK, there is no limitation like this. I think this is mainly because LWM2M specification doesn't define if server should store or how it should store request. This is up to implementation.

Maybe we can close one and continue discussion on the other ?

I ask to avoid to talk on 2 different issue and you just continue the discussion on 2 different issues... 😞 #1598 (comment)

@EmbGangsta
Copy link
Author

Sure please close this one :)

@sbernard31
Copy link
Contributor

Thx 🙏

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

No branches or pull requests

3 participants