| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.bluetooth.le; |
| |
| using fuchsia.bluetooth as bt; |
| |
| /// Represents a Bluetooth Low Energy peer that may act in the broadcaster, peripheral, or central |
| /// role. The peer's role depends on whether it is obtained from the Central or Peripheral protocol. |
| table Peer { |
| /// Uniquely identifies this peer on the current system. |
| /// |
| /// This field is always present. |
| 1: bt.PeerId id; |
| |
| /// Whether or not this peer is connectable. Non-connectable peers are typically in the LE |
| /// broadcaster role. |
| /// |
| /// This field is always present. |
| 2: bool connectable; |
| |
| /// The last observed RSSI of this peer. |
| 3: int8 rssi; |
| |
| /// Advertising and scan response data broadcast by this peer. Present in broadcasters and |
| /// peripherals. |
| 4: AdvertisingData advertising_data; |
| }; |
| |
| /// Protocol that represents the connection to a peer. This can be used to interact with GATT |
| /// services and establish L2CAP channels. |
| protocol Connection { |
| // TODO(armansito): Introduce function to obtain gatt.Client handle when transitioning the |
| // Central protocol. |
| }; |