[PATCH BlueZ 0/3] Introduce shared/gatt-server.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch set introduces shared/gatt-client and implements the server side of
ATT Exchange MTU request. I made the decision to keep gatt-db internal to
gatt-server due to the following reasons:

  1. I want to keep all ATT protocol details to remain internal to gatt-server
  and gatt-client. gatt-db creates a layering problem for attributes that get
  added with a high-level read/write handler. In this case, gatt-db leaves the
  responsibility of obtaining the attribute value and forming the ATT protocol
  response to the layer that registered the read handler. We want the actual PDU
  construction to be done by gatt-server, hence gatt-server needs to inject its
  own read/write handlers and provide a level of indirection to the upper-layer
  to obtain the value.

  My decision here is to write functions in the bt_gatt_server_* namespace to
  add/remove attributes into the database.

  2. This allows gatt-server to correctly send Service Changed indications
  without having the gatt-db modified behind its back.

  3. gatt-db exposes structures like shared/queue in its public interface which,
  after some mailing discussions, were decided to remain internal to shared
  code.

Arman Uguray (3):
  shared/att: Drop the connection is a request is received while one is
    pending.
  shared/gatt-server: Introduce shared/gatt-server.
  shared/gatt-server: Support Exchange MTU request.

 Makefile.am              |   1 +
 src/shared/att.c         | 101 +++++++++++++---------
 src/shared/gatt-server.c | 219 +++++++++++++++++++++++++++++++++++++++++++++++
 src/shared/gatt-server.h |  47 ++++++++++
 4 files changed, 328 insertions(+), 40 deletions(-)
 create mode 100644 src/shared/gatt-server.c
 create mode 100644 src/shared/gatt-server.h

-- 
2.1.0.rc2.206.gedb03e5

--
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




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux