linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "José Antonio Santos Cadenas" <jcaden@libresoft.es>
To: "Gustavo F. Padovan" <gustavo@padovan.org>
Cc: "João Paulo Rechi Vita" <jprvita@gmail.com>,
	linux-bluetooth@vger.kernel.org
Subject: Re: HDP proposed API(0.5)
Date: Tue, 18 May 2010 09:33:15 +0200	[thread overview]
Message-ID: <201005180933.15803.jcaden@libresoft.es> (raw)
In-Reply-To: <20100517213838.GB19907@vigoh>

Hi Gustavo,

El Monday 17 May 2010 23:38:38 Gustavo F. Padovan escribió:
> Hi,
> 
> * João Paulo Rechi Vita <jprvita@gmail.com> [2010-05-17 18:17:58 -0300]:
> 
> <snip>
> 
> > On Mon, May 17, 2010 at 11:54, José Antonio Santos Cadenas
> > 
> > <jcaden@libresoft.es> wrote:
> > >                array GetDataChannelFileDescriptor(uint16 mdlid)
> > 
> > Wouldn't be better to pass the fd through the LinkConnected call on
> > Agent? Doing it here allows any process to get the fds.
> 
> I was thinking about the MCAP in kernel implementation, my conclusion is
> that we can solve one of the biggest problem of HDP API if we do it in
> kernel: the transparency of MCAP reconnection. HDP will open an MCAP
> socket and pass it to the user(IEEE app). Then if we need a
> reconnection, MCAP will transparently reconnect changing the L2CAP
> channel to transmit the data without the need to change the socket
> opened with the userspace.

This that you proposed is something that we thought when we started with 
MCAP/HDP. We finally decided to put MCAP outside the kernel because of the 
following reasons:
	-  The first and the most important is that everything that can be done in 
user space should be done in user space. We talked about this issue in the 
list some time ago and Marcel suggested us that if MCAP doesn't have 
interaction with other kernel subsystems, it should be implemented outside the 
kernel. You can read these mails here [1]. Basing on our experience with MCAP 
that's true, MCAP does not interact with any kernel subsystem.
	- An other reason is that reconnections *should not* be transparent at 
MCAP level. Any profile using MCAP should be concerned about the data channel 
disconnection and reconnection. In the case of HDP reconnections should be 
hide to the application layer.
	- Finally the kernel implementation will require a very complex API 
because MCAP require notifying lots of events some of the requiring a 
response(i.e., incoming mdl connection that need a response from the next 
level using MCAP with the configuration). Probably MCAP in the kernel space 
will be so complicated to used an you will require a user space library that 
make simpler the use of this API.

> 
> Keep the MCAP socket open means that we are keeping the MCL state for
> further reconnection.
> 
> Doing it inside the kernel removes a big amount of complexity of HDP and
> IEEE profiles, since we won't need any pipe or change of fd. That could
> be a killer feature to make it in the kernel.
> 
> Any comments? Is this reasonable?

In our opinion reconnections are not a reason to implement MCAP in kernel 
space because reconections should not be transparent at this level.

> 
> <snip>


[1] http://www.spinics.net/lists/linux-bluetooth/msg03001.html

  parent reply	other threads:[~2010-05-18  7:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-17 14:54 HDP proposed API(0.5) José Antonio Santos Cadenas
2010-05-17 21:17 ` João Paulo Rechi Vita
2010-05-17 21:38   ` Gustavo F. Padovan
     [not found]     ` <DCEDCB0F-6BA3-4100-96F9-0A33AC440F82@signove.com>
2010-05-17 23:20       ` Gustavo F. Padovan
2010-05-18  2:42         ` Nathan Holstein
2010-05-18  8:10           ` José Antonio Santos Cadenas
2010-05-18 14:05             ` Elvis Pfützenreuter
2010-05-18  9:28         ` Santiago Carot-Nemesio
2010-05-23  2:54           ` Gustavo F. Padovan
2010-05-18  7:33     ` José Antonio Santos Cadenas [this message]
2010-05-17 21:40   ` José Antonio Santos Cadenas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201005180933.15803.jcaden@libresoft.es \
    --to=jcaden@libresoft.es \
    --cc=gustavo@padovan.org \
    --cc=jprvita@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).