Hi Thiago,
About your opinion on the API ?Should take the destination and the command as
separated parameters?,
I think your suggestion is reasonable.
We maybe could add that as a feature improvement candidate for the next release.
However, we have to consider the size increase of the Base code.
(I remember that lots of people were against the binary size increase that
time)
And, about the ?Setting a deadline for msg sending?, however, I do not see any
difference between having
timer & its application logic(ex. deadline checking) in the IoTivity Base and
IoTivity Application.
The only difference I see is whether applications may use the deadline setting
feature for msg delivery
by default or not. (For that reason it?s better to have this features by
default ?cause this feature could
ease the developer?s work)
Moreover, there?s no such constraint that all the messages delivered to the
base should be sent right-away.
Since the deadline setting feature extracted from the usecase, I think it?s
valid feature to have. :)
I do agree to your suggestion on ?JSON to optional & CBOR to Mandatory instead?,
?casue I also had considered CBOR as a good alternative of JSON at the
beginning of the project.
However, I?m facing a fundamental question to tackle regarding our effort for
such change, and that is...
What is the Requirements or Criteria which lead or force us to minimize or
squad the code during
the code contribution in order to make the IoTivity stack light-weight?
Since we don?t have an answer to that question, I do worry whether or not we
are just abandoning the
good options (which may bring us the lots of benefits) without valid reasons.
Thank you.
Jay.
> 2015. 3. 10., ?? 2:44, Thiago Macieira <thiago.macieira at intel.com> ??:
>
> On Tuesday 10 March 2015 01:35:28 Junghyun Oh wrote:
>> Hi Thiago,
>>
>> The string(actionSet) is for the in-process-use only. :)
>> Meaning, the actions will be tokenized and not all but only some of the
>> tokens will be sent over the wire.
>>
>> For example, in the actionSet "AllBulbOn*yyyy-mm-dd hh:mm:ss
>> 1*uri=coap://x.x.x.10:xxxx/a/light|power=on*? the {?key?:?power?,
>> ?value?:?on?} will be delivered to ?coap://x.x.x.10:xxxx/a.light
>> <coap://x.x.x.10:xxxx/a.light>? at ?yyyy-mm-dd hh:mm:ss?
>
> Hi Jay
>
> I'm ok with us describing the action set that way, but we we shouldn't have
> that in the API. Instead, let's simply say the API should take the
> destination
> and the command as separate parameters. Tokenising at runtime seems like a
> poor choice in performance aspect.
>
> Also, I highly question having a deadline for sending. Anything we receive
> should be sent immediately. If the user wants to send later, they can easily
> write their own timers and deadlines.
>
>> The main reason why we didn?t use JSON format for the ActionSet is because,
>> as you may already notice, once we register the actionSet with JSON format,
>> we have to parse it inside the Base in order to check when & where to sent
>> the actions.
>
> Which is solved by not using a string in the first place.
>
>> Then the JSON parsing logic will influence the size of the Base which we
>> also don?t want it to be. In order not to increase the size of the Base
>> critically and minimized the modification work inside the base. we?ve
>> defined such format to implement the ?GroupAction? feature.
>>
>> However, as Hyunjun mentioned in the previous his email, we do agree your
>> suggestion and we also had proposed the same idea.
>> Therefore, if it?s okey we?d like to discuss about including the limited
>> JSON parsing functionality inside the base OR we?re open to discuss about
>> the more efficient alternatives if there?s any. :)
>
> I don't want JSON in the base at all. In fact, in my review of the draft
> specification, I pointed out all places where JSON was mandatory and
> requested
> they be changed so that JSON is optional and CBOR (RFC 7049) is mandatory.
>
> I am also willing to write the CBOR encoder and decoder for the base -- I
> implemented one in four days two days ago, including full unit test suite, so
> I can easily do it again.
>
> But for this feature, I'd rather not have any parsing of any kind. It should
> come in structured format from the user.
>
> --
> Thiago Macieira - thiago.macieira (AT) intel.com
> Software Architect - Intel Open Source Technology Center
>