That is an interesting question. They are remnants of an implementation of slow response and block transfer. A different approach to handling slow response was implemented and we must have neglected to clean up completely. Recall that slow response is used for servers that may not know their response immediately (e.g. must read value from ADC, do calculations, averaging, etc.) and cannot immediately return a response from the entity handler. Block transfer was intended to allow for requests/responses that were too large to be sent in a single PDU.
Although block transfer was designed, it was never implemented. The OCCanceResponse API was intended to be used to cancel an on-going block transfer of a response. But now that you brought it up, is there a use case for a server canceling a slow response? That is, what if a server's entity handler responds with the with the OC_EH_SLOW flag but for whatever reason, decides not to send the response at a later time? Should we provide the OCCanceResponse API to handle that use case? If the original request was sent as a Confirmable message, then an Acknowledgment must be sent in response. For a normal (i.e. non-slow) response, the response is piggy-backed with the Ack. For a slow response, the Ack is sent and then the response is sent later when the server is able to respond. If we think the above use case is valid, then we should probably keep (and implement!) the OCCanceResponse API and maybe the response handle if it is needed for the cancelation. Thanks, Doug --- Doug Hudson Intel Corporation Platform Engineering Group (PEG) / Intel Communications and Devices Group (iCDG) / Louisville -----Original Message----- From: iotivity-dev-bounces at lists.iotivity.org [mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of Lenahan, Charlie Sent: Tuesday, May 5, 2015 2:42 PM To: iotivity-dev at lists.iotivity.org Subject: [dev] OCResponseHandle In the OCEntityHandlerResponse struct there is a OCResponseHandle *responseHandle; That isn?t used anywhere. Also there is a OCCanceResponse(OCResponseHandle) that doesn?t do anything. Can these be culled? _______________________________________________ iotivity-dev mailing list iotivity-dev at lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev