Not sure I concur with ?CA and RI are separate layer and can be used independently? - RI cannot function without CA layer. CA layer by itself provides only the connectivity mechanism but does not support resource processing. From a developer or an end user perspective, to get the benefit of Iotivity base stack the RI C/C++ APIs are the ones that need to be used. --Vijay From: iotivity-dev-bounces at lists.iotivity.org [mailto:[email protected]] On Behalf Of ??? Sent: Tuesday, July 21, 2015 11:52 PM To: Light, John J; iotivity-dev at lists.iotivity.org Subject: Re: [dev] CAGetNetworkInformation() function does not work
John Light, As MJ mentioned, CA and RI are separate layer and can be used independently. I do not expect the CA "API" to disappear shortly. Jaehong Jo Samsung OIC Development ------- Original Message ------- Sender : ???<myeong.jeong at samsung.com<mailto:myeong.jeong at samsung.com>> S5(??)/??/IoT Solution Lab(S/W??)/???? Date : 2015-07-22 14:05 (GMT+09:00) Title : Re: [dev] CAGetNetworkInformation() function does not work Hi, John. We are not sure why you are saying unwise and unnecessary. It?s up to the API user to use any internal APIs. Currently Routing manager requires the GertNetworkInformation to know the available networks and route the packet. The main subject of the mail is because of your changes, this API is not working. Instead of resolving, questioning the API usability is unreasonable. As its been reproduced because of your changes, we are trying get clarification. If you cannot modify, please let us know. Only Application devlopers required to use C or C++ APIs. Any feature contributors can use internal APIs and any feature can have unit test cases and samples to make sure all units are functional. If you feel an internal API is unnecessary, please raise the issue during the biweekly CC or through the dev-mailing list before you changes. Thanks. Best Regards, --- MyeongGi Jeong Senior Engineer, Software Architect Software R&D Center, Samsung Electronics Co., Ltd. +82-10-3328-1130 ------- Original Message ------- Sender : Light, John J<john.j.light at intel.com<mailto:john.j.light at intel.com>> Date : 2015-07-22 00:09 (GMT+09:00) Title : Re: [dev] CAGetNetworkInformation() function does not work Hyuna Jo, Please orient the tests to the two IoTivity APIs: C and C++. The stack should not add code just for obsolete unit tests. We must drive the stack to smaller and smaller form factors, eliminating unnecessary code. The request you make does not generalize, as the IP Adapter network interface code uses mechanisms such as SIOCGIFCONF which do not supply equivalent IPv6 addresses. Thus we need to generalize the testing to support this. As you suggest, the tests can be done using discovery, which allows testing of the discovery mechanism as well. I believe it is unnecessary and unwise to continue thinking of the CA as a separate API. Our path to simplification will necessarily involve higher integration between the CA and RI layers, and I expect the CA ?API? to disappear shortly. So I don?t think adding code whose only purpose is to enable testing is appropriate. John Light Intel OTC OIC Development From: ??? [mailto:[email protected]] Sent: Tuesday, July 21, 2015 1:53 AM To: Light, John J; iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: RE: [dev] CAGetNetworkInformation() function does not work Hi, John CA Sample was implemented to test CA API directly. we have to know the ip address and port number of the remote device to create CAEndpoint_t object. and we used CAGetNetworkInformation() function to get local network information. of course we can get network information of remote device through multicast message. But that process is unnecessary in CA sample. We should test all CA API directly. In addition, multicast is not supported on arduino platform. because arduino wifi shield can have one connection. so we cannot test all CA API including CASendRequest, CASendResponse, CASendNotification, if there is no network information. Therefore, more network information should be provided by using CAGetNetworkInformation() function. Regards, Hyuna Jo ------- Original Message ------- Sender : Light, John J<john.j.light at intel.com<mailto:john.j.light at intel.com>> Date : 2015-07-21 00:51 (GMT+09:00) Title : RE: [dev] CAGetNetworkInformation() function does not work Hyuna Jo, The only API?s I?m familiar with are the IoTivity C API and the IoTivity C++ API. The Connectivity Abstraction is an implementation detail of the C stack. Since CAGetNetworkInformation doesn?t currently support any features at the C or C++ API level, it is low priority. I intended for it to continue working, as it may be useful in the future, but it is possible that it may not work as it did before. Currently, the only anticipated use for CAGetNetworkInformation is to allow application selection of interfaces for multicasting. For that use, only the information provided is necessary. If you feel more information is needed for some other purpose, please describe the intended use case. I know the original CAGetNetworkInformation provided more information, but that information wasn?t used anywhere except in unit tests of the function. The simplified IP adapter doesn?t need the extra information, so it is not currently provided. When you justify the additional information with a valid use case, additional information can be provided. In the meantime, let?s work at making IoTivity smaller and easier to maintain. John Light Intel OTC OIC Development From: ??? [mailto:[email protected]] Sent: Monday, July 20, 2015 3:52 AM To: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org>; Light, John J Subject: [dev] CAGetNetworkInformation() function does not work Hi, John Light I have taken the latest master code but I have some problems runnings the CA sample. I'm trying to use CAGetNetworkInformation() function to get local network information. but it looks like that it does not work well. I cannot get the ip address and port information from CAGetNetworkInformation function. currently, CAGetNetworkInformation function returns network interface name only. why did you change the code to return interface name instead of address and fixed the port number with 0? Without the ip address and port number information, ca sample can not be executed well on Linux/Tizen/Android/Arduino platform. Please help me to resolve this issues. Regards, Hyuna Jo [http://mail.naver.com/readReceipt/notify/?img=Lr%2B%2FBX0mWrKXMrtXMomsKApoFAUqpzpvpAi4K6tdK6UZKApvpoJgMX%2B0Mog%2F74lR74lcWNFlbX30WLloWrdQar0T%2Bz0r1B3l7630%2BvIn1BFdbZlGWX3G%2B40dDLlTb4b%3D.gif] [cid:image001.gif at 01D0C464.A45C7200] [http://ext.samsung.net/mailcheck/SeenTimeChecker?do=0fa18573320d6211e7f2ed87d0b7d027cc99a2d44013a3187e3e8c4d8134f0f9be7dd83ce6b932973c40f787d33f357d4b31597edd603a7ce5a22f09e2218feaa728c55b39cc59eacf878f9a26ce15a0] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150722/aedd3b7f/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.gif Type: image/gif Size: 13168 bytes Desc: image001.gif URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150722/aedd3b7f/attachment.gif>
