-
Notifications
You must be signed in to change notification settings - Fork 368
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
setReadyToSent call several times with transparent block mode. #818
Comments
The outer observer handles cancel, also for inner cancels. We sure could also pass in the Anyway, I stuck at scandium, so, if you want, just go for changing it. |
I will first go for a fix in Leshan (ensuring that I do not schedule several time the cleaning task) |
Split the "forwarding" from PR #848, it should be possible to "fix" this also with a new "forward" approach. |
My main concern about changing that is, it requires a lot of testing and so enormous time :-). After M13, I would prefer therefore, to have the "mass changes from the dtls connection id redesign" in branch |
My "requirement" for a changed behavior is, that it stays possible to get (also) inner events. Adding the message as parameter to the callbacks seems to be also a good idea. One idea to make the outer/inner event selectable would be a method "select". Or marker interfaces e.g. "InnerMessageObserver". |
Could you precise what you are calling outer event ? and what you are calling inner event ? |
"outer event" is the event related to the outer Request. "inner event" is the event related to a internally created request for blockwise. e.g. for inner events "ready to sent" is called on every block request, for the outer only at the first. If the first or last inner event is reported as outer (changing the argument, if a message is added as argument), depends on the event. I require the inner stuff for optimizations of a blockwise transfer, but, if you don't want such an optimization, you may only register for outer events. |
I try to reformulate to be sure I well understand : When transparent blockwise is used, block requests are generated automatically by blockwise layer from a "none blockwise" request. Currently, Californium user does not really see inner requests, right? (except maybe with advanced monitoring feature like So questions are :
About solution, without thinking about it so much I would prefer the marker interface solution. |
The inner
That would also be my preference. |
(maybe this #1223 should be taking into account in one day we address this issue) |
When you are using transparent block mode using block2, all
MessageObserver
of "parent" request will be used for each child/block requests.So events like
setReadyToSent
could be raised several time, which is a bit counterintuitive.I didn't remember why we are doing this and maybe there is a good reason to keep this like this. (I agree that touching transparent block mode is a bit freaky)
But maybe we could at least pass the request as parameter to be able to know which request matches which event ?
(here is a leshan bug relative to this : eclipse-leshan/leshan#623)
The text was updated successfully, but these errors were encountered: