Gregg,

I did a similar thing a few months back, but it took more than a weekend. ?

I removed all duplicate data structures and all the copying among them.  I 
combined all smaller structures into a couple of transaction buffers, 
eliminating nearly all malloc/free calls.  The result is half the code size and 
nearly immune to malloc failures, and it talked with IoTivity 1.0.1.

I don?t know what to do with mine, either.

John Light

From: iotivity-dev-bounces at lists.iotivity.org 
[mailto:[email protected]] On Behalf Of Gregg Reynolds
Sent: Monday, June 06, 2016 7:04 AM
To: iotivity-dev at lists.iotivity.org
Subject: [dev] libchibi

You know you're a hopeless geek when you:

  A.  Spend all day Saturday reorganizing a codebase and build system that 
already works, just for fun.

  B.  Tell people about it.

libchibi<https://github.com/iotivation/libchibi>

Why?  I found the code structure and build system of Iotivity mildly opaque, 
and I got to wondering whether it would be possible to more cleanly separate 
the c kernel from the c++ stuff.  In my ideal world, the c kernel would be a 
separate thing, and the c++ stuff, as a higher-level layer, would be just 
another SDK, just like a Java or Lua or Javascript SDK.

For example to get Iotivity running on a very constrained device you might want 
to leave some stuff out, and include only the minimal functionality you need. I 
get the feeling Iotivity is already designed to support that sort of thing but 
it's been kinda hard for me to see how it all fits together and how to pull it 
apart.

So anyway having acquired a basic understanding of the build system and 
structure from porting it to Darwin I decided to go crazy and see how hard it 
would be to turn resource/csdk into a kind of standard c project, with the 
usual include/, lib/, src/ directories, etc. Not that hard, it turns out. 
What's there compiles but has not been extensively tested and might have 
problems. And I'm not sure csdk has all the functionality required for it to be 
called an OIC implemenation.

I don't know how far I'm going to go with this, but in the next two weeks I'm 
going to try to get Iotivity running on Zephyr on the Arduino 101. maybe with 
libchibi as well as the official code.

Not intended as a fork, but it occurs to me that it might be a Good Thing if it 
did turn into a fork.  IETF requires two independent implementations for a 
protocol to advance to a standard; that seems like a Good Thing for OIC as 
well.  libchibi is hardly independent, but still it seems like it would be a 
good thing to have two different projects at least.

Cheers,

Gregg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20160606/6dca5452/attachment.html>

Reply via email to