Markus, No worries. It is common for people to talk about ?the base? and for me to ask what do you mean by ?base?. :)
Pat From: Markus Jung [mailto:[email protected]] Sent: Monday, March 09, 2015 11:34 PM To: Lankswert, Patrick; Macieira, Thiago Cc: iotivity-dev at lists.iotivity.org Subject: Re: RE: Re: [dev] [oswg] Re: Group Action Set discussion Hi Pat, sorry my formulation was not clear. The scheduling of group action can be seen as a common feature that should be provided by IoTivity, but I agree with your point that it is to critically discuss whether it should be part of the base libraries. I definitely does not fit to discovery and connectivity related features. Best Regards Markus ------- Original Message ------- Sender : Lankswert, Patrick<patrick.lankswert at intel.com <mailto:patrick.lankswert at intel.com> > Date : Mar 10, 2015 11:57 (GMT+09:00) Title : RE: Re: [dev] [oswg] Re: Group Action Set discussion Markus, If by ?base?, you mean the network stack (Discovery and Connectivity) code, I respectfully disagree. That is like asking, mDNS, SDDP and/or TCP stack to offer scheduled transmission. If by ?base?, you mean the larger SDK, I *may* agree. These behaviors need to reside in resource implementations that can be part of the SDK. The discovery and connectivity logic need to be focus on discovery and connectivity and stay separate from the service that are built above it. Pat From: Markus Jung [mailto:[email protected]] Sent: Monday, March 09, 2015 9:53 PM To: Macieira, Thiago; Lankswert, Patrick Cc: iotivity-dev at lists.iotivity.org <mailto:iotivity-dev at lists.iotivity.org> Subject: Re: Re: [dev] [oswg] Re: Group Action Set discussion Hello, if something like group actions are part of IoTivity then having the feature to schedule the execution seems to be a quite common requirement, so it can provide a good value for application developers. But it requires an active component taking care for the execution, so the question whether it should be part of the base library is valid. Best regards, Markus ------- Original Message ------- Sender : Thiago Macieira<thiago.macieira at intel.com <mailto:thiago.macieira at intel.com> > Date : Mar 10, 2015 04:39 (GMT+09:00) Title : Re: [dev] [oswg] Re: Group Action Set discussion On Monday 09 March 2015 10:59:04 Lankswert, Patrick wrote: > Thiago, > > 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. > > I think that the local stack that is sending the request is not handling the > timer. It is the service that is receiving the request that is handling > that. It sounds like this is behaving more and more like an IFTTT engine. > Wouldn't is be better to incorporate an existing IFTTT engine than > re-invent the wheel. In addition, an IFTTT engine offers a lot of other > capabilities. I don't think such functionality belongs in the iotivity libraries. At least it should not in the base libraries. If I understand this correctly, we're talking about a feature by which a client application sends a request to the server so that it will resend to a given target at a given point in time (group or not). The IoTivity libraries should be able to receive and parse the request, but it's up to the server application to decide how to handle that request. Possible actions would be: 1) store it in an in-app timer list 2) add to a system-wide execution queue, like at(1) or cron(8) 3) reject I think we will need to implement an IoTivity server application ourselves to prove that we can do bridging across network technologies, control groups, do deadline execution, etc. And we may even decide to make some or all of those functionalities part of a library, but it should not be part of the base library. > BTW, can you provide any guidance on code size and execution size of your > CBOR implementation? It is my understanding that CBOR (even with string > data typing) is smaller machine code, faster execution, smaller RAM > footprint, etc. in addition to the smaller encoding and safer execution. > NOTE: You can write very robust/safe JSON parsers, it is just a little > harder. My implementation is so far tied to Qt and I've been compiling with high optimisation options like -O3 -march=core-avx2. I can't give you the numbers you want for the API we'd have until it's written. The CBOR encoder is 41% smaller (according to size(1)) and runs 23% faster, while the current code for the CBOR parser is is 70% larger than the JSON one and takes 63% more CPU time. I should point out that the Qt JSON support is the fastest JSON implementation I've ever benchmarked, at nearly 3x faster than the next best implementation (libjson-c) and that I have not done much in terms of optimisation of the CBOR parser. For our API, if we decide to do it, I will implement a stream parser, not a random-access one. That is to say, if you're reading a dictionary, you have to handle all entries in the order they come, instead of asking for "rt" and then "cmd". -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center <http://ext.samsung.net/mailcheck/SeenTimeChecker?do=66776f433ea48075a2e729e10af4ac75b868f18c178338e3d543c6261db6206746f49c7f7f4ce1db1fdf754ed276bbedd8c023f270a836a153cb8b1934afabac2f6aaf3d92ded142cf878f9a26ce15a0> <http://ext.samsung.net/mailcheck/SeenTimeChecker?do=66776f433ea48075a3a4e2e79d4ca456319c8d340ca00980d543c6261db6206746f49c7f7f4ce1db1fdf754ed276bbedd8c023f270a836a153cb8b1934afabac2f6aaf3d92ded142cf878f9a26ce15a0> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150310/ec908604/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 7198 bytes Desc: not available URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150310/ec908604/attachment.p7s>
