Hi, 2010/10/22 Elvis Pfützenreuter <epx@xxxxxxxxxxx>: > Taking a look in the code, I saw that hdp_mcap_mdl_aborted_cb() emits a ChannelConnected signal. > > I understand that after an abort, the MDL still exists, and can be reconnected, so I understand the intention of informing the application that a channel has been "created". But I'm not sure that it is opportune. > > The first thing the application will do is trying to Acquire() the channel's file descriptor (that does not exist) and that triggers a reconnection attempt, from acceptor to initiator. While the most sensible thing (in my view) is waiting for the initiator to reconnect -- if it aborted, it must have a good reason, and it will probably reject the immediate call back. > You are forgetting that there may be more than one health applications running over HDP at the same time, if one of them creates a data channel, that data data channel will be exist at MCAP level even if the initiator abort the connection. If other application wants to create a new data channel with the same configuration, it may be want reconnect that data channel avoiding to create another data channel. It is a best practise wich is recomended in MCAP and best explained in the Health Device Profile white paper document to reduce the amount of data interchanged between medical devices (in IEEE/11073-20601 terminology: "agents" and "managers"). Remember that channels may be shared between applications. That is the reason why HDP sends out a signal when a data channel has been created. Of course, the efficence of the protocol will depend on intelligence of the programmer of the applications to take advantages of MCAP reconnections. In any case, you will need to know when a data channel has been created over the MCL (by you, or by other application). Regards, Santiago -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html