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
next prev 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).