oTivity is an open source software framework enabling seamless device-to-device connectivity to address the emerging needs of the Internet of Things。
For More service information : https://wiki.iotivity.org/iotivity_services_1.0.0
Following figures show the design and flow to send and receive data in connectivity layer.
In case of sending data,
1) Send requests is processed by Block-wise transfer(BWT) basically in case of UDP and BT, and SendQueueThread in case of TCP, BLE.
2) BWT prepares atomic data with default size (1KB) of Block data and send it to SendQueueingThread.
3) SendQueueingThread send data to handler of interested transport.
4, 5, 6) In case of UDP, SendQueuingThread for UDP send data to endpoint.
In case of receiving data,
1) In case of UDP, ReceiveThread for UDP receive data from endpoint.
2) In case that interested transport is UDP or BT, BWT prepares next atomic data of Block data and
3) it is sent to SendQueueingThread again. In case that interest transport is TCP and BLE, data is sent to RceiveQueingThread and finally sent to upper layer.
4) If received data is the last data for block in BWT, it is sent to ReceiveQueingThread and finally sent to upper layer.