-
Notifications
You must be signed in to change notification settings - Fork 369
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
Reg. Developer manual? #306
Comments
I'm not aware of such a documentation :-). There are "demo-apps" included, which shows the usage. |
I'm trying to implement blockwise transfer from CoAP client to server. In demo apps, I cannot find any example which helps in implementing blockwise transfer. Can you please help? |
branch 2.0.x contains a file server, which demonstrates the blockwise transfer. |
Thanks, I was able to make my blockwise transfer work using the example. |
Sounds strange to me. Just to make sure: which branch are you using?
As far as RFC7959, 2.2 defines the SZX, 1024 is the largest payload for blockwise. |
I am using branch 2.0.x. But now I face another problem. I am trying to transfer large data approx 3MB using californium. Using blockwise transfer here. While sending the data I get the following warning. WARNING: Possible MID reuse before lifetime end for token [a6], expected MID 18,453 but received 18,452 and then after waiting for a response from the server for sometime, I receive a null response. The server on the other end receives the data being sent but I don't know whats goes wrong while responding. I would really appreciate any help or suggestions. I'm sorry I don't have a very good understanding of wireshark. |
I'm not sure, what your requirements are and if CoAP fulfils them. If your requirement is to transfer frequently 3MB, I would guess, CoAP is the wrong.
There are two situation, which may cause this:
So, do you repeat the transfer or do you restart the client? Which values do you use? The client also uses a request timeout (see |
I would also strongly advise against using the transparent blockwise handling of Californium for transferring files of that size because Cf will buffer the whole content in memory until the transfer is complete... Use FTP for transferring files, that's what it's made for :-) |
I think timeout was causing the issue. I was changing ACK_TIMEOUT property to change the value of timeout. Later I used "CoapClient.setTimeout(long)", which seemed to fix the issue. |
Is there any reason to keep this issue open ? |
Californium have any support of throttlling (means per second 10 requests should handle) ? |
Californium hasn't a build in throttling. I think, this would depend very much on the use-case.
In the end it's much easier, to implement that on the application layer. Either by control the request (obey the n-start 1 rule in the client application would be a good point to start), or delaying the response, if that makes sense. |
Throttling for server, based on source. example : per source(ipaddress) per day 200 requests. if requests exeeds 200 drop those requests. |
As already written above, that is not implemented. If you want to implement it on your own, I would recommend that you replace the |
While searching I came across
--> Tutorial slides
--> Master's thesis: Scalability for IoT Cloud Services
on http://people.inf.ethz.ch/mkovatsc/californium.php
Is there any other documentation much like a developer manual?
The text was updated successfully, but these errors were encountered: